class OpenEdge.Logging.LoggerBuilder
	inherits OpenEdge.Core.Util.ConfigBuilder
:

	constructor public LoggerBuilder ( pcLoggerType as character):
	end.

	define public property Logger as OpenEdge.Logging.ILogWriter no-undo
		public get.

	define public property LoggerType as character no-undo
		public get.
		private set.

	define public static property DefaultLogger as character no-undo
		public get.
		public set.

	define public static property Registry as OpenEdge.Core.Util.BuilderRegistry no-undo
		public get.
		private set.

	method public static OpenEdge.Logging.ILogWriter GetLogger ( poLoggerType as Progress.Lang.Class):
	end.

	method public static OpenEdge.Logging.ILogWriter GetLogger ( pLoggerType as handle):
	end.

	method public static OpenEdge.Logging.ILogWriter GetLogger ( pcLoggerType as character):
	end.

	method public static OpenEdge.Logging.LoggerBuilder Build ( pcLoggerType as character, poBuilders as OpenEdge.Core.Util.BuilderRegistry):
	end.

	method public static OpenEdge.Logging.LoggerBuilder Build ( pcLoggerType as character):
	end.

	method public OpenEdge.Logging.LoggerBuilder LogAt ( poLevel as OpenEdge.Logging.LogLevelEnum):
	end.

	method public OpenEdge.Logging.LoggerBuilder AddFilter ( pFilterName as character, pFilterOptions as Progress.Json.ObjectModel.JsonObject):
	end.

	method public OpenEdge.Logging.LoggerBuilder AddFilter ( pcFilterName as character):
	end.

	method public OpenEdge.Logging.LoggerBuilder AddFilter ( pFilter as OpenEdge.Logging.Filter.ILoggerFilter):
	end.

	method protected OpenEdge.Logging.ILogWriter GetLoggerInstance ():
	end.

	method public OpenEdge.Logging.LoggerBuilder FromConfig ( pJsonConfig as Progress.Json.ObjectModel.JsonObject):
	end.

	method protected OpenEdge.Logging.ILogWriter BuildFilterLogger ():
	end.

	method protected static void LogMessage ( pMessage as character, pLevel as OpenEdge.Logging.LogLevelEnum):
	end.

end.
