2015-09-18 7 views
3

Является ли отсутствие каких-либо определенных раковин подходящим способом отключения Serilog?Отключить Serilog для выпуска продукта

Я видел этот вопрос:

How to turn off Serilog?

Но мое больше о том, как настроить Serilog при выпуске продукта, так что по умолчанию не создаются файлы журнала, когда продукт используется, и звонки к Serilog имеют как можно меньше накладных расходов.

Мы настраиваем Serilog с помощью приложения/веб-файлы конфигурации, поэтому в Debug строить выглядит примерно так:

<add key="serilog:minimum-level" value="Verbose" /> 
<add key="serilog:write-to:RollingFile.pathFormat" 
    value="%ProgramData%\Product\debug\AppName-{Date}.log" /> 
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" /> 

Эти строки обрабатываются следующим образом:

new LoggerConfiguration().ReadFrom.AppSettings()... 

Когда мы генерируем приложений/веб-конфигурационных файлов для отправки с продуктом, достаточно ли удалить любые приемники из конфигурационных файлов, чтобы эффективно отключить Serilog?

Я думаю, мне интересно, есть ли какая-то «выключенная» настройка, так что самое первое, что вызывает звонок Serilog, это «если (выкл.) Return» или что-то в этом роде? Или отсутствие каких-либо определенных поглотителей в основном одно и то же? Моя цель - настроить параметры, чтобы все звонки в Serilog были как можно быстрее, когда мы регистрировали «отключен».

ответ

1

Лучший вариант - просто ничего не делать; не создавайте LoggerConfiguration или не назначайте Log.Logger. Это приведет к тому, что все методы Log будут выполнять как можно меньше работы.

Если вам нужен ILogger, просто возьмите Log.Logger и передайте его, - он также ничего не сделает по умолчанию, если вы не присвоили ему что-то.

+0

Не отвечает на вопрос. Что пользователь должен делать с файлом app.config, чтобы отключить регистратор? – dylanT

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