Я пытаюсь понять, как правильно использовать Windows.Foundation.Diagnostics.LoggingChannel
. В частности, я хотел бы понять цель, лежащую в основе свойства Level
и когда это свойство установлено.Какова цель LoggingChannel.Level
Как указано в MSDN documentation от LoggingChannel
, свойство Level
доступно только для чтения. Итак, как я могу установить уровень, на который канал принимает сообщения?
В настоящее время, что я разработал в качестве регистратора для моего приложения является то, что, как показано ниже:
public class Logger
{
public LoggingLevel LoggerLoggingLevel { get; set; }
private LoggingSession _session;
private LoggingChannel _channel;
public Logger()
{
_channel = new LoggingChannel("MyChannel");
_session = new LoggingSession("MySession");
_session.AddLoggingChannel(_channel);
}
public void LogMessage(string msg, LoggingLevel level)
{
if (level >= LoggerLoggingLevel)
{
_channel.LogMessage(msg, level);
}
}
.
.
.
}
// The consumer of the Logger class will instantiate an instance of it,
// sets the LoggerLoggingLevel, and then starts logging messages at various levels.
// At any point, the consumer can change LoggerLoggingLevel to start accepting
// messages at different levels.
это правильный подход, или есть лучший способ (например, каким-то образом установив уровень _channel
, а затем передавая сообщение & уровню на канал, позволяя каналу решить, следует ли отфильтровывать сообщение или принимать и регистрировать его)?