1. NLog Configuration 수동 등록하는 방법이다.

 (여러 라이브러리에 NLog를 사용하면 아래의 방법을 추천하지 않는다.)




// Step 1. Create configuration object 

var config = new LoggingConfiguration();


// Step 2. Create targets and add them to the configuration 

var consoleTarget = new ColoredConsoleTarget();

config.AddTarget("console", consoleTarget);


var fileTarget = new FileTarget();

config.AddTarget("file", fileTarget);


// Step 3. Set target properties 

consoleTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message}";

fileTarget.FileName = "${basedir}/log/library/${shortdate}_dataflow.txt";

fileTarget.Layout = "${message}";


// Step 4. Define rules

var rule1 = new LoggingRule("*", LogLevel.Debug, consoleTarget);

config.LoggingRules.Add(rule1);


var rule2 = new LoggingRule("*", LogLevel.Debug, fileTarget);

config.LoggingRules.Add(rule2);


// Step 5. Activate the configuration

LogManager.Configuration = config;





2. NLog Configuration 에 수동으로 추가하는 방법이다.

기존의 설정을 초기화시키지 않고 추가할 수 있는 장점이 있다.





var consoleTarget = new ColoredConsoleTarget();

NLog.LogManager.Configuration.AddTarget("console", consoleTarget);


var fileTarget = new FileTarget();

NLog.LogManager.Configuration.AddTarget("file", fileTarget);


// Step 3. Set target properties 

consoleTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message}";

fileTarget.FileName = "${basedir}/log/library/${shortdate}_stitch.txt";

fileTarget.Layout = "${message}";


// Step 4. Define rules

var rule1 = new LoggingRule("StitchLibrary", LogLevel.Debug, consoleTarget);

NLog.LogManager.Configuration.LoggingRules.Add(rule1);


var rule2 = new LoggingRule("StitchLibrary", LogLevel.Debug, fileTarget);

NLog.LogManager.Configuration.LoggingRules.Add(rule2);







'Knowledge > NLog' 카테고리의 다른 글

[.NET] NLog Event Register 콜백 이벤트  (0) 2018.04.14

+ Recent posts