NLog配置文件变量
${basedir}:应用程序当前目录 ${shortdate}:短日期【2022-01-06】 ${longdate}:长日期【2022-01-06 14:05:20.4023】 ${logger}: 记录器的名字 ${event-properties:FileName}:自定义属性 ${level}:记录等级【Trace,Debug,Info,Warn,Error,Fatal】 ${uppercase}:转大写 ${message}:调用Nlog时输入的内容 ${callsite}:类名称 ${callsite-linenumber}:文件行号 ${hostname}:主机名 ${environment} 环境变量 ${exception} exception信息 ${machinename} 名称 ${mdc} 映射诊断 ${mdlc} 异步映射诊断上下文 ${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。 KaTeX parse error: Expected '}', got 'EOF' at end of input: {var} {var}-提供新的变量(4.1) ${windows-identity} indows线程标识信息(用户名)
Windows Form <PackageReference Include="NLog" Version="5.2.2" /> <PackageReference Include="NLog.Windows.Forms" Version="5.2.0" /> Web Api <PackageReference Include="NLog.Web.AspNetCore" Version="5.2.1" /> using Microsoft.Extensions.Logging;
nlog.config
<?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" autoReload="true" internalLogLevel="Info"> <!-- 启用.net core的核心布局渲染器 --> <extensions> <add assembly="NLog.Web.AspNetCore" /> </extensions> <!-- 写入日志的目标配置 --> <targets> <!-- 调试 --> <target xsi:type="File" name="debug" fileName="logs/debug-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" /> <!-- 警告 --> <target xsi:type="File" name="warn" fileName="logs/warn-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" /> <!-- 错误 --> <target xsi:type="File" name="error" fileName="logs/error-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" /> </targets> <!-- 映射规则 --> <rules> <!-- 调试 --> <logger name="*" minlevel="Trace" maxlevel="Debug" writeTo="debug" /> <!--跳过不重要的微软日志--> <logger name="Microsoft.*" maxlevel="Info" final="true" /> <!-- 警告 --> <logger name="*" minlevel="Info" maxlevel="Warn" writeTo="warn" /> <!-- 错误 --> <logger name="*" minlevel="Error" maxlevel="Fatal" writeTo="error" /> </rules> </nlog>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)