Nlog详细配置注释与参考样例
NLog 根节点 下的配置
以后看到哪里有缺陷就再进行补充
NLog 根节点 下的配置
autoReload:配置修改是否自动加载。
throwExceptions:日志出现异常时是否需要抛出异常,若配置为true日志记录异常时由于没有捕获异常,会导致程序挂掉。
internalLogLevel:表示nlog日志的执行日志记录等级。
internalLogFile:表示nlog日志的执行日志记录的位置。通过./XXXX的方式可以配置到程序的相对目录。
变量设定
<variable name="myvar" value="myvalue"/>
通过设定变量,可以改变参数设置项,变量名用var来确定,这样在程序中就可以按照string格式修改存储目标,
需要注意的是在C#中的斜线和反斜线对目录的影响
<variable name="basePath" value="C:\tmp\"/>
<target name="info" xsi:type="File"
fileName="${var:basePath}/logs/info/log_${shortdate}.log"
layout="${longdate} ${callsite} [${level}]: ${message}"/>
通过将async设置为true可以异步保存日志,从而防止日志影响业务性能。
<targets async="true"> <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" /></targets>
targets目标具体参数说明
引号内容为数据类型
<targets async=” Boolean”> //是否异步
<target
xsi:type="File" //输出类型
name="String" //节点名称
layout="Layout" //日志输入格式
header="Layout" //日志头显示的文本内容
footer="Layout" //日志尾显示的文本内容
encoding="Encoding" //文件编码格式
lineEnding="Enum" //行结束模式
archiveAboveSize="Long" //存档上限值
maxArchiveFiles="Integer" //保存的最大存档文件数,默认9
archiveFileName="Layout" //存档文件名称。允许使用Layout
archiveNumbering="Enum" //存档文件的编号方式
archiveEvery="Enum" //是否在每个设定时间刻自动存档日志文件
replaceFileContentsOnEachWrite="Boolean" //是否覆盖每次写入的日志内容,默认false
fileAttributes="Enum" //文件属性(只支持Windows)
fileName="Layout" //写入日志的文件名称 支持Layout
deleteOldFileOnStartup="Boolean" //启动时,是否删除旧的日志文件 。默认为false
enableFileDelete="Boolean" //否允许删除日志文件。默认为true
createDirs="Boolean" //是否允许自动创建(不存在的)目录。默认为true。
concurrentWrites="Boolean" //是否允许使用通过多个进程的方式,将日志信息并行写入文件中。,默认为true
openFileCacheTimeout="Integer" //文件保持打开状态的最大时间秒数
openFileCacheSize="Integer" //保持打开状态的文件数量
networkWrites="Boolean" //是否通过多线程由不同的网络主机并行向文件中写入日志默认false
concurrentWriteAttemptDelay="Integer"
concurrentWriteAttempts="Integer"
bufferSize="Integer" //日志文件缓存区大小(字节) 默认值为32768(32KB)
autoFlush="Boolean" //在每次日志信息后,是否自动刷新文件缓存区 默认true
keepFileOpen="Boolean" //是否保持日志文件处于打开状态,以代替其在每次日志写事件发生时频繁打开和关闭默认值为false。
备注