NLog 使用说明
类库结果:


public class FileLogger : ILogger { Logger _log = null; public FileLogger() { _log=LogManager.GetCurrentClassLogger(); } public void WriteLog(string msg, ELogLevel level=ELogLevel.Info) { switch (level) { case ELogLevel.Info: _log.Info(msg); break; case ELogLevel.Debug: _log.Debug(msg); break; case ELogLevel.Trace: _log.Warn(msg); break; case ELogLevel.Error: _log.Error(msg); break; case ELogLevel.Fatal: _log.Fatal(msg); break; } } public void Dispose() { } private string GetAppSettingValue(string key) { string value = null; try { value = System.Configuration.ConfigurationManager.AppSettings[key]; } catch { value = string.Empty; } return value; } }
public interface ILogger { void WriteLog(string msg, ELogLevel level); }
配置文件:
<?xml version="1.0" encoding="utf-8" ?> <nlog> <variable value="${basedir}/logs" name="logDirectory"></variable> <targets> <target name="logfile" layout="${longdate} ${message} ${exception:format=tostring}" type="File" filename="${logDirectory}/${shortdate}.log"></target> <target name="console" layout="${longdate} ${message} ${exception:format=tostring}" type="ColoredConsole"></target> <target type="Database" name="database" connectionstring="Data Source=JACKZHANG;Initial Catalog=Test;uid=sa;pwd=123456;"> <commandText> insert into NLog ([CreateDate], [Origin], [LogLevel], [Message], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @stackTrace); </commandText> <parameter name="@createDate" layout="${longdate}"/> <!--日志发生时间--> <parameter name="@origin" layout="${callsite}"/> <!--日志来源--> <parameter name="@logLevel" layout="${level}"/> <!--日志等级--> <parameter name="@message" layout="${message}"/> <!--日志信息--> <parameter name="@stackTrace" layout="${stacktrace}"/> <!--堆栈信息--> </target> </targets> <rules> <logger name="*" minlevel="Info" writeto="console"></logger> <logger name="*" minlevel="Debug" writeto="logfile"></logger> <logger name="*" minlevel="Debug" writeto="database"></logger> </rules> </nlog>
真正的大师永远怀着一颗学徒的心。

浙公网安备 33010602011771号