阅读 71

Log4.net Helper工具类

Log4.net Helper工具类

一、Config文件配置

xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler"/>
  configSections>
  
  
  
  <log4net>
    
    
    <logger name="logerror">
      
      <level value="ALL" />
      
      <appender-ref ref="ErrorAppender" />
      
    logger>
    
    
    <logger name="loginfo">
      <level value="ALL" />
      <appender-ref ref="InfoAppender" />
    logger>
    
    
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      
      <param name="File" value="D:\Winform\控制台\log4netDemo2\bin\Log\LogError\\" />
      
      <param name="AppendToFile" value="true" />
      
      <param name="MaxSizeRollBackups" value="100" />
      
      <param name="MaxFileSize" value="10240" />
      
      <param name="StaticLogFileName" value="false" />
      
      <param name="DatePattern" value="yyyyMMdd".htm"" />
      
      <param name="RollingStyle" value="Date" />
      
      
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="<BR>
--------------------------------------------header------------------------------------------------
"/>
        <param name="ConversionPattern" value="<HR COLOR=red>%n異常時間:%d [%t] <BR>%n異常級別:%-5p <BR>%n異常類:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
        <param name="Footer" value="<BR>
--------------------------------------------footer------------------------------------------------
"/>
      layout>
    appender>
    
    
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="D:\Winform\控制台\log4netDemo2\bin\Log\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd".htm"" />
      <param name="RollingStyle" value="Date" />
      
      <layout type="log4net.Layout.PatternLayout">
        
        
        <param name="Header" value="<BR>
--------------------------------------------header------------------------------------------------
"/>
        <param name="ConversionPattern" value="<HR COLOR=blue>%n日誌時間:%d [%t] <BR>%n日誌級別:%-5p <BR>%n日誌類:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
        <param name="Footer" value="<BR>
--------------------------------------------footer------------------------------------------------
"/>
      layout>
    appender>
    
    
    
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      layout>
    appender>


    
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      layout>
    appender>

    
    <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
      <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />
      <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />
      
      <parameter>
        <parameterName value="@logDate" />
        <dbType value="String" />
        <size value="240" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date" />
        layout>
      parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="240" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread" />
        layout>
      parameter>
      <parameter>
        <parameterName value="@logLevel" />
        <dbType value="String" />
        <size value="240" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level" />
        layout>
      parameter>
      <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="240" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%logger" />
        layout>
      parameter>
      <parameter>
        <parameterName value="@message" />
        <dbType value="String" />
        <size value="240" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        layout>
      parameter>
    appender>

    
    <root>
      
      <appender-ref ref="LogFileAppender" />
      
      
      
      
      
    root>
  log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  startup>
configuration>

二、LogHelper工具类代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace log4netDemo2
{
    public class LogHelper
    {
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");//这里的 loginfo 和 log4net.config 里的名字要一样
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");//这里的 logerror 和 log4net.config 里的名字要一样

        //INFO
        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }

        //ERROR
        public static void WriteLog(string info, Exception ex)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, ex);
            }
        }
    }
}

三、测试代码

using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace log4netDemo2
{
    class Program
    {
     
        static void Main(string[] args)
        {
            try
            {
                string a = "FF";
                LogHelper.WriteLog(a);
                int b = Convert.ToInt32(a);           
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex.Message.ToString(), ex);
            }
        }
    }
}

四、测试输出

loginfo

  logerror

原文:https://www.cnblogs.com/wml-it/p/14818006.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐