2013-04-11 2 views
0

Я использую Caliburn.Micro и NLOG. Я построил свой каротаж в соответствии с этим образцом: http://buksbaum.us/2010/08/08/how-to-do-logging-with-caliburn-micro/Caliburn.Micro изменить уровень регистрации

Это работает хорошо и, как ожидалось. Но Caliburn устанавливает уровень всех своих сообщений в информацию. Я бы предпочел, чтобы они были отчетами Debug. Есть ли простой способ сделать это?

ответ

1

Просто измените NLogLogger реализацию метода Info от:

public void Info(string format, params object[] args) 
{ 
    _innerLogger.Info(format, args); 
} 

в

public void Info(string format, params object[] args) 
{ 
    _innerLogger.Debug(format, args); 
} 
+0

Хорошо, что было tooo очевидно;) ли рекомендуется использовать NLog непосредственно для моего собственного журнала - сообщения или я должен использовать инфраструктуру Caliburn? –

+0

Это зависит от того, на что вы счастливы принять зависимость. Я бы не рекомендовал использовать Caliburn.Micro, так как это не имело бы смысла за пределами вашего уровня презентации, и я не уверен, что такое текущее состояние NLog, поскольку главный разработчик передал проект. Поэтому, если вы беспокоитесь о том, что NLog слишком изменчив, вы можете либо написать свою собственную абстракцию журнала, либо использовать что-то вроде Common.Logging. – devdigital

+0

Другим аргументом является то, что логика ведения журнала не должна вписываться в бизнес-логику и что вы должны использовать AOP для сквозной задачи, такой как ведение журнала (например, PostSharp). – devdigital

Смежные вопросы