.net 5.0 記錄日志、日志配置


.net 5.0 下記錄日志以及日志的配置

1.我們先開始准備一個日志的Helper

2.然后在指定目錄下添加配置文件 .XML

using log4net;
using log4net.Config;
using System;
using System.IO;

namespace AnnualBill.Logger
{
    public class LoggerHelper
    {
        #region Fields
        private static readonly ILog logger;
        #endregion

        #region Constructors
        static LoggerHelper()
        {
            if (logger == null)
            {
                var repository = LogManager.CreateRepository("MixdoRepository");
                //log4net從log4net.config文件中讀取配置信息
                var log4netConfig = new FileInfo("App_Data/log4net.config.xml");
                XmlConfigurator.Configure(repository, log4netConfig);
                logger = LogManager.GetLogger(repository.Name, "InfoLogger");
            }
        }
        #endregion

        #region Utilities
        /// <summary>
        /// 普通日志
        /// </summary>
        /// <param name="message"></param>
        /// <param name="exception"></param>
        public static void Info(string message, Exception exception = null)
        {
            if (exception == null)
                logger.Info(message);
            else
                logger.Info(message, exception);
        }

        /// <summary>
        /// 告警日志
        /// </summary>
        /// <param name="message"></param>
        /// <param name="exception"></param>
        public static void Warn(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Warn(message);
            else
                logger.Warn(message, exception);
        }

        /// <summary>
        /// 錯誤日志
        /// </summary>
        /// <param name="message"></param>
        /// <param name="exception"></param>
        public static void Error(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Error(message);
            else
                logger.Error(message, exception);
        }

        #endregion
    }
}
<?xml version="1.0" encoding="utf-8"?>
<log4net>
    <!-- Define some output appenders -->
    <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
        <file value="log.txt" />
        <!--追加日志內容-->
        <appendToFile value="true" />

        <!--防止多線程時不能寫Log-->
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

        <!--可以為:Once|Size|Date|Composite-->
        <!--Composite為Size和Date的組合-->
        <rollingStyle value="Composite" />

        <!--當備份文件時,為文件名加的后綴-->
        <datePattern value="yyyyMMdd.TXT" />

        <!--日志最大個數,都是最新的-->
        <!--rollingStyle節點為Size時,只能有value個日志-->
        <!--rollingStyle節點為Composite時,每天有value個日志-->
        <maxSizeRollBackups value="20" />

        <!--可用的單位:KB|MB|GB-->
        <maximumFileSize value="3MB" />

        <!--置為true,當前最新日志文件名永遠為file節中的名字-->
        <staticLogFileName value="true" />

        <!--輸出級別在INFO和ERROR之間的日志-->
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="ALL" />
            <param name="LevelMax" value="FATAL" />
        </filter>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
        </layout>
    </appender>
    <root>
        <priority value="ALL"/>
        <level value="ALL"/>
        <appender-ref ref="rollingAppender" />
    </root>
</log4net>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM