新闻中心

NLog.config配置文件怎么写 日志输出到文件

2025-12-15
浏览次数:
返回列表
要让NLog输出日志到文件,需在NLog.config中配置File类型target并用rules路由日志;fileName推荐用${basedir}避免路径问题,支持${shortdate}等渲染器实现按天归档,layout可自定义格式,配置后需设“始终复制”并验证日志生成。

nlog.config配置文件怎么写 日志输出到文件

要让 NLog 把日志输出到文件,核心是正确配置 NLog.config 文件(XML 格式),并确保目标(target)为 File,同时用规则(rules)把日志路由过去。

基础结构:NLog.config 文件骨架

在项目根目录或输出目录(如 bin/Debug)下新建一个名为 NLog.config 的 XML 文件,内容大致如下:


        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  
    
    
  


  
    
    
  


常用文件配置项说明

fileName 支持布局渲染器(Layout Renderers),灵活控制路径和文件名:

  • ${basedir}:程序运行目录(推荐,避免硬编码路径)
  • ${shortdate}:如 2025-06-15,适合按天分文件
  • ${longdate}:精确到毫秒的时间戳,可用于单行时间格式
  • ${processid}${threadid}:多进程/线程时防冲突
  • ${level}:可按级别分文件(如 error.log、info.log)

例如,按日期滚动的常见写法:

  name="fileTarget"
  fileName="${basedir}/logs/${shortdate}.log"
  archiveFileName="${basedir}/logs/archives/log.{#}.txt"
  archiveEvery="Day"
  archiveNumbering="Rolling"
  maxArchiveFiles="30"
  encoding="utf-8" />

日志内容格式(layout)怎么定制?

默认输出较简略。加 layout 属性可自定义每行日志样式:

  name="fileTarget"
  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邮箱官方在线使用平台 

搜索