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);
        }
    }
复制代码

 

posted @   小布雷  阅读(2323)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示