NLog
1.配置方式:NLog.config
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!--${basedir}--> <variable name="appName" value="c:/logs/system"/> <!--/${machinename}--> <variable name="logDirectory" value="${appName}/${windows-identity:domain=false}/${shortdate}"/> <targets> <!--file--> <target name="TraceFile" xsi:type="File" layout="${longdate} ${level} ${message}" fileName="${logDirectory}/trace_mis20_poc.txt"/> <target name="DebugFile" xsi:type="File" layout="${longdate} ${level} ${message}" fileName="${logDirectory}/debug_mis20_poc.txt"/> <target name="ErrorFile" xsi:type="File" layout="${longdate} ${level} ${message}" fileName="${logDirectory}/error_mis20_poc.txt"/> <!--console--> <!--<target name="console" xsi:type="Console" layout="${longdate} ${level} ${message}"/>--> </targets> <rules> <logger name="*" minlevel="Trace" maxLevel="Trace" writeTo="TraceFile"/> <logger name="*" minlevel="Debug" maxLevel="Debug" writeTo="DebugFile"/> <logger name="*" minlevel="Error" maxLevel="Error" writeTo="ErrorFile"/> </rules> </nlog>
2.编码方式:
using NLog; using NLog.Targets; using NLog.Config; class Example { static void Main(string[] args) { // Step 1. Create configuration object LoggingConfiguration config = new LoggingConfiguration(); // Step 2. Create targets and add them to the configuration ColoredConsoleTarget consoleTarget = new ColoredConsoleTarget(); config.AddTarget("console", consoleTarget); FileTarget fileTarget = new FileTarget(); config.AddTarget("file", fileTarget); // Step 3. Set target properties consoleTarget.Layout = "${date:format=HH\\:MM\\:ss} ${logger} ${message}"; fileTarget.FileName = "${basedir}/file.txt"; fileTarget.Layout = "${message}"; // Step 4. Define rules LoggingRule rule1 = new LoggingRule("*", LogLevel.Debug, consoleTarget); config.LoggingRules.Add(rule1); LoggingRule rule2 = new LoggingRule("*", LogLevel.Debug, fileTarget); config.LoggingRules.Add(rule2); // Step 5. Activate the configuration LogManager.Configuration = config; // Example usage Logger logger = LogManager.GetLogger("Example"); logger.Trace("trace log message"); logger.Debug("debug log message"); logger.Info("info log message"); logger.Warn("warn log message"); logger.Error("error log message"); logger.Fatal("fatal log message"); } }
值得注意的是:虽然可以通过NLog.LogManager.GetCurrentClassLogger();获取配置,但是配置的需要和dll在同一目录下,这需要Nlog.config的状态
是copy always/copy if newer,且最好放在根目录下,以便和dll在一个目录下。

浙公网安备 33010602011771号