Nlog 配置文件
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <variable name="logDirectory" value="E:/Log"/> <!--<targets> <default-wrapper xsi:type="AsyncWrapper"></default-wrapper> <target xsi:type="File" name="file-api-log" fileName="${logDirectory}/api_logs/${shortdate}.txt" layout ="${longdate} ${message}"/> <target xsi:type="File" name="file-api-log-error" fileName="${logDirectory}/api_logs_error/${shortdate}.txt" layout ="${longdate} ${message}"/> </targets>--> <-- 按照小时记录 --> <targets> <default-wrapper xsi:type="AsyncWrapper"></default-wrapper> <target xsi:type="File" name="file-api-log" fileName="${basedir}/api_logs/${date:format=yyyy-MM-dd-HH}.txt" layout ="${longdate} ${message}"/> <target xsi:type="File" name="file-api-log-error" fileName="${basedir}/api_logs_error/${date:format=yyyy-MM-dd-HH}.txt" layout ="${longdate} ${message}"/> </targets> <rules> <logger name="api-log" minlevel="Info" writeTo="file-api-log"></logger> <logger name="api-log-error" minlevel="Error" writeTo="file-api-log-error"></logger> </rules> </nlog>
Nlog常用的一些变量
${activityid} 将其置入日志System.Diagnostics trace 
${all-event-properties}    事件日志上下文
${appdomain}    当前应用程序域
${assembly-version}    应用程序
${basedir}    应用程序域的基本目录。
${callsite}    (类名称、方法名称和相关信息的源信息)。
${callsite-linenumber}    调用类的
${counter}    数值
${date}    当前日期和时间。
${document-uri}    用于Silverlight应用。
${environment}    环境变量
${event-properties}     
${exception}    exception信息
${file-contents}    显示指定文件的内容
${gc}    垃圾收集器
${gdc}    诊断上下文
${guid}    GUID
${identity}    线程标识信息
${install-context}    安装参数
${level}    级别。
${literal}     
${log4jxmlevent}    XML事件描述
${logger}    记录器的名字
${longdate}    日期和时间的格式分类yyyy-MM-dd HH:mm:ss.ffff。
${machinename}    名称
${mdc}     映射诊断
${mdlc}    异步映射诊断上下文
${message}    消息
${ndc}    线程结构
${ndlc}    异步线程
${newline}    文字换行
${nlogdir}    nlog.dll目录。
${performancecounter}    述性能计数器。
${processid}    当前进程标识符
${processinfo}    运行信息
${processname}    当前进程的名称。
${processtime}    该时间过程中格式HH:MM:ss.mmm。
${qpc}    高精度定时器,基于返回的值从queryperformancecounter(任选地)转换为秒。
${registry}    从注册表中的值。
${sequenceid}    ID
${shortdate}    短时间 格式YYYY-MM-DD。
${sl-appinfo}    Silverlight应用。
${specialfolder}    文件夹路径
${stacktrace} -    堆栈跟踪渲染器。
${tempdir}    临时目录中。
${threadid}    当前线程的标识符。
${threadname}    当前线程。
${ticks}    当前日期和时间。
${time}    24小时格式HH:MM:ss.mmm。
${var}    {$var}-提供新的变量(4.1)
${windows-identity}    indows线程标识信息(用户名)
c# 调用:
public class NLogHelper { private static Logger _logger = LogManager.GetLogger("api-log"); public static void LogInfo(string message, string methodName = "") { //string methodmsg = string.IsNullOrEmpty(methodName)?"":string.Format("{}") _logger.Info(message); } private static Logger _loggerError = LogManager.GetLogger("api-log-error"); public static void LogError(string message, string methodName = "") { _loggerError.Error(message); } public static void LogDBError(string message, string methodName = "") { _loggerError.Info(message); } }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号