IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> NLog完整使用说明(包含配置文件和帮助类)直接复制使用 -> 正文阅读

[移动开发]NLog完整使用说明(包含配置文件和帮助类)直接复制使用

一、添加动态库

?PS:动态库版本>2.0.0,否则异常会无法输出

二、帮助类

 public class Log
    {
        private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

        public static void Debug(string msg, params object[] args)
        {
            logger.Debug(msg, args);
        }

        public static void Debug(string msg, Exception err)
        {
            logger.Debug(msg, err);
        }

        public static void Info(string msg, params object[] args)
        {
            logger.Info(msg, args);
        }

        public static void Info(string msg, Exception err)
        {
            logger.Info(msg, err);
        }

        public static void Trace(string msg, params object[] args)
        {
            logger.Trace(msg, args);
        }

        public static void Trace(string msg, Exception err)
        {
            logger.Trace(msg, err);
        }

        public static void Error(string msg, params object[] args)
        {
            logger.Error(msg, args);
        }

        public static void Error(string msg, Exception err)
        {
            logger.Error(msg, err);
        }

        public static void Fatal(string msg, params object[] args)
        {
            logger.Fatal(msg, args);
        }

        public static void Fatal(string msg, Exception err)
        {
            logger.Fatal(msg, err);
        }

        /// <summary>
        /// 删除指定日期前的日志
        /// </summary>
        /// <param name="time"></param>
        public static void DelLogFile(DateTime time)
        {
            try
            {
                string directorypath = AppDomain.CurrentDomain.BaseDirectory + "Logs";
                if (System.IO.Directory.Exists(directorypath))
                {
                    DirectoryInfo thisOne = new DirectoryInfo(directorypath);
                    DirectoryInfo[] subDirectories = thisOne.GetDirectories(); //获得目录
                    //删除错误日志
                    if (subDirectories != null)
                    {
                        foreach (DirectoryInfo item in subDirectories)
                        {
                            DateTime filedate = DateTime.Now;
                            DateTime.TryParse(item.Name, out filedate);
                            if (time > filedate)
                            {
                                System.IO.Directory.Delete(item.FullName, true);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {

            }
        }
    }

三、配置文件

<?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">
	<targets>
		<!--屏幕打印消息-->
		<target name="console" xsi:type="ColoredConsole"
						layout="${date:format=HH\:mm\:ss}> ${message}"/>

		<!--vs输出窗口-->
		<target name="vsdebugger" xsi:type="Debugger"
					   layout="[${date:format=HH\:mm\:ss}][${level:padding=5:uppercase=true}] ${message}"/>

		<!--保存debug至文件-->
		<target name="debugger" xsi:type="File" maxArchiveFiles="30"
						fileName="${basedir}/Logs/${shortdate}/debug.txt"
						layout="[${date:format=HH\:mm\:ss}][${level:padding=5:uppercase=true}] ${message}"/>

		<!--保存erorr至文件-->
		<target name="error_file" xsi:type="File" maxArchiveFiles="30"
						fileName="${basedir}/Logs/${shortdate}/error.txt"
						layout="[${longdate}][${level:uppercase=true:padding=5}] ${message} | ${onexception:${exception:format=message} ${newline} ${stacktrace}" />

		<!--保存fatal至文件-->
		<target name="fatal_file" xsi:type="File" maxArchiveFiles="30"
						fileName="${basedir}/Logs/${shortdate}/fatal.txt"
						layout="[${longdate}][${level:uppercase=true:padding=5}] ${message} | ${onexception:${exception:format=message} ${newline} ${stacktrace}" />


		<!--保存info至文件-->
		<target name="info_file" xsi:type="File" maxArchiveFiles="30"
						fileName="${basedir}/Logs/${shortdate}/info.txt"
						layout="[${longdate}][${level:uppercase=true:padding=5}] ${message} | ${exception}" />
	</targets>
	<rules>
		<logger name="*" writeTo="console" />
		<logger name="*" minlevel="Trace" writeTo="vsdebugger"/>
		<logger name="*" levels="Debug" writeTo="debugger" />
		<logger name="*" levels="Error" writeTo="error_file" />
		<logger name="*" levels="Fatal" writeTo="fatal_file" />
		<logger name="*" levels="Info" writeTo="info_file" />
	</rules>
</nlog>

四、实例

 public Main()
 {          
      Log.Trace("Trace");
      Log.Debug("Debug");
      Log.Info("Info");
      Log.Error("Error");
      Log.Fatal("Info");
}

五、日志等级

Trace - 最常见的记录信息,一般用于普通输出
Debug - 调试信息
Info - 信息类型的消息
Warn - 警告信息,一般用于比较重要的场合
Error - 异常信息,捕捉的异常信息
Fatal - 致命信息。一般来讲,发生致命异常之后程序将无法继续执行。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:54:07  更:2022-04-18 17:57:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 21:51:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码