新闻中心
NLog.config配置文件怎么写 日志输出到文件
要让NLog输出日志到文件,需在NLog.config中配置File类型target并用rules路由日志;fileName推荐用${basedir}避免路径问题,支持${shortdate}等渲染器实现按天归档,layout可自定义格式,配置后需设“始终复制”并验证日志生成。

要让 NLog 把日志输出到文件,核心是正确配置 NLog.config 文件(XML 格式),并确保目标(target)为 File,同时用规则(rules)把日志路由过去。
基础结构:NLog.config 文件骨架
在项目根目录或输出目录(如 bin/Debug)下新建一个名为 NLog.config 的 XML 文件,内容大致如下:
常用文件配置项说明
fileName 支持布局渲染器(Layout Renderers),灵活控制路径和文件名:
- ${basedir}:程序运行目录(推荐,避免硬编码路径)
-
${shortdate}:如
2025-06-15,适合按天分文件 - ${longdate}:精确到毫秒的时间戳,可用于单行时间格式
- ${processid} 或 ${threadid}:多进程/线程时防冲突
- ${level}:可按级别分文件(如 error.log、info.log)
例如,按日期滚动的常见写法:
fileName="${basedir}/logs/${shortdate}.log"
archiveFileName="${basedir}/logs/archives/log.{#}.txt"
archiveEvery="Day"
archiveNumbering="Rolling"
maxArchiveFiles="30"
encoding="utf-8" />
日志内容格式(layout)怎么定制?
默认输出较简略。加 layout 属性可自定义每行日志样式:
ileTarget"
fileName="${basedir}/logs/app.log"
layout="${longdate} [${level:uppercase=true}] ${logger} ${message} ${exception:format=tostring}" />
常用占位符:
- ${longdate}:2025-06-15 14:23:05.123
- ${level:uppercase=true}:INFO / ERROR
-
${logger}:记录日志时的 logger 名(如
MyApp.Services.UserService) - ${message}:实际日志内容
- ${exception:format=tostring}:完整异常堆栈(仅当有异常时输出)
验证是否生效的小技巧
写完配置别急着跑业务,先快速验证:
- 确保
NLog.config的“复制到输出目录”属性设为“始终复制”(VS 中右键文件 → 属性) - 代码中获取 logger 后,手动写一条日志:
var logger = LogManager.GetCurrentClassLogger();
logger.Info("NLog 测试日志已发出"); - 检查程序运行目录下是否生成了
logs/app.log,且内容符合预期 - 如果没日志,打开 NLog 内部日志排查:
基本上就这些。不复杂但容易忽略路径权限、文件权限或配置未复制的问题。保持 fileName 用 ${basedir} 开头,基本能避开大部分路径坑。
以上就是NLog.config配置文件怎么写 日志输出到文件的详细内容,更多请关注其它相关文章!
# 回调
# seo推广谌坷
# seo 大叔
# 南宁红色传奇网站建设
# 綦江关键词快速排名系统
# 最火的视频推广网站排名
# 传统制造业营销推广
# 黑龙江信息服务推广网站
# 初创公司软文推广营销
# 慈溪网站建设价格
# seo推广好么
# 渲染器
# 开发工具
# 编码
# 绑定
# 编辑器
# 好用
# 要让
# 自定义
# 它是
# file类
# 配置文件
# 路由
# 栈
# ssl
# app
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
AO3网页版合集入口 Archive of Our Own同人作品浏览指南
照顾宝贝2小游戏点击立即在线玩
C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用
必由学网页版入口 必由学官方平台直接访问
蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接
J*aScript中正确使用querySelectorAll与复杂CSS选择器
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看
J*a实现学校排课程序_面向对象结构化项目示例
抖音从哪里进入网页版_抖音官方入口链接
Pandas DataFrame 多条件优先级排序与排名
fishbowl官网免费版 fishbowl养鱼网站入口
在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析
excel怎么制作工资条 excel快速生成工资条的方法
Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持
Win10双系统截图高效法 截屏快捷键速记【技巧】
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
解决深度学习模型训练初期异常高损失与完美验证准确率问题
电脑安装程序提示“错误1722”怎么办_Windows Installer服务问题解决【教程】
优化HTML表单样式:解决输入框焦点跳动与元素间距问题
LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理
AO3官方可用镜像 Archive of Our Own网页版最新入口
深入理解J*a链表中的IPosition接口与使用
c++如何使用TBB库进行任务并行_c++ Intel线程构建模块
手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析
yy漫画网页版官方入口_yy漫画官网登录页面链接
解决Django多数据库/多Schema环境下外键迁移问题
使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道
Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南
Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖
CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠
Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略
一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰
知音漫客正版漫画平台_知音漫客官网账号登录
12306选座系统怎么选连座_12306选座多人连坐操作方法
利用Bokeh CustomJS动态控制DataTable列可见性
苹果手机如何防止被恶意App追踪
魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】
汽水音乐在线版入口_汽水音乐网页播放手册
12306选座怎么选到临时改签座_12306改签选座策略与步骤
《刺客信条:影》PS5 Pro和Switch 2画面对比
Python模块化编程:有效管理依赖与避免循环引用
Spring Boot嵌入式服务器与J*a EE:功能支持深度解析
age动漫网站入口 age动漫官网直接访问入口
将JSON对象数组转置为键值对列表的实用指南
Golang如何使用net/url解析URL_Golang URL解析与处理方法
sublime侧边栏怎么增强功能_SideBarEnhancements for sublime安装与配置
sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置
QQ邮箱网页版登录入口 QQ邮箱官方在线使用平台


2025-12-15
浏览次数:次
返回列表