Log4Net

3 篇文章 0 订阅
using System;
using System.Collections.Generic;
 
using System.Text;
using log4net;
using System.IO;
using System.Data;
namespace Tscc.Model
{
    /// <summary>
    /// 日志帮助类
    /// </summary>
    public class LogHelper
    {
        /// <summary>
        /// 获取定义好的记录异常的具体日志对象
        /// </summary>
        public static readonly log4net.ILog errorLog = log4net.LogManager.GetLogger("Errorlog");
        public static readonly log4net.ILog infoLog = log4net.LogManager.GetLogger("Infolog");
        /// <summary>
        /// 初始化log4net
        /// </summary>
        public static void SetConfig()
        {
            log4net.Config.DOMConfigurator.Configure();
        }

        public static void SetConfig(FileInfo configFile)
        {
            log4net.Config.DOMConfigurator.Configure(configFile);
        }
        /// <summary>
        /// 记录错误日志
        /// </summary>
        /// <param name="info"></param>
        /// <param name="se"></param>
        public static void WriteErrorLog(string info, Exception e)
        {
            LogHelper.SetConfig();
            errorLog.Error(info, e);
        }
        /// <summary>
        /// 记录错误日志
        /// </summary>
        /// <param name="info"></param>
        /// <param name="se"></param>
        public static void WriteErrorLog(string info)
        {
            LogHelper.SetConfig();
            errorLog.Error(info);
        }
        /// <summary>
        /// 记录操作日志
        /// </summary>
        /// <param name="info"></param>
        /// <param name="se"></param>
        public static void WriteInfoLog(string info)
        {
            LogHelper.SetConfig();
            infoLog.Info(info);
        }
         
    }
}

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
    </configSections>


    <!--log4net记录错误日志配置节点-->
    <log4net>
        <logger name="Infolog">
            <level value="Info"/>
            <appender-ref ref="ADONetAppender"/>
        </logger>
        <logger name="Errorlog">
            <level value="ERROR"/>
            <appender-ref ref="ErrorAppender"/>
        </logger>
        <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
            <bufferSize value="10"/>
            <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <!--<connectionString value="server=10.100.10.8;database=ZZRLxLinkSystemDB;user id=sa;password=tscc" />-->
            <commandText value="INSERT INTO SiteLog ([LogDate],[Thread],[Level],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @message, @exception)"/>
            <parameter>
                <parameterName value="@log_date"/>
                <dbType value="DateTime"/>
                <layout type="log4net.Layout.RawTimeStampLayout"/>
            </parameter>
            <parameter>
                <parameterName value="@thread"/>
                <dbType value="String"/>
                <size value="50"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%thread"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@log_level"/>
                <dbType value="String"/>
                <size value="50"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%level"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@message"/>
                <dbType value="String"/>
                <size value="4000"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%message"/>
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@exception"/>
                <dbType value="String"/>
                <size value="2000"/>
                <layout type="log4net.Layout.ExceptionLayout"/>
            </parameter>
        </appender>
        <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
            <param name="File" value="Log/"/>
            <param name="AppendToFile" value="true"/>
            <param name="StaticLogFileName" value="false"/>
            <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;"/>
            <param name="RollingStyle" value="Date"/>
            <layout type="log4net.Layout.PatternLayout">
                <param name="Footer" value="&#xA;------------------------------------------------------------------------------------&#xA;"/>
                <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
            </layout>
        </appender>
        <!-- levels: DEBUG, INFO, WARN, ERROR, FATAL -->
        <appender name="NHibernateFileLog" type="log4net.Appender.RollingFileAppender">
            <file value="Logs/nhibernate.txt"/>
            <appendToFile value="true"/>
            <rollingStyle value="Size"/>
            <maxSizeRollBackups value="10"/>
            <maximumFileSize value="100KB"/>
            <staticLogFileName value="true"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n"/>
            </layout>
        </appender>
        <appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
            <file value="Logs/general.html"/>
            <appendToFile value="true"/>
            <maximumFileSize value="100KB"/>
            <rollingStyle value="Size"/>
            <maxSizeRollBackups value="5"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n "/>
        <param name="Footer" value="&#xA;&#60;br&#62;------------------------------------------------------------------------------------&#xA;&#60;/br&#62;"/>
            </layout>
        </appender>
        <appender name="DataLog" type="log4net.Appender.RollingFileAppender">
            <file value="Logs/data.txt"/>
            <appendToFile value="true"/>
            <maximumFileSize value="100KB"/>
            <rollingStyle value="Size"/>
            <maxSizeRollBackups value="5"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n"/>
            </layout>
        </appender>
        <!-- levels: DEBUG, INFO, WARN, ERROR, FATAL -->
        <root>
            <level value="DEBUG"/>
            <appender-ref ref="GeneralLog"/>
        </root>
        <logger name="NHibernate" additivity="false">
            <level value="DEBUG"/>
            <appender-ref ref="NHibernateFileLog"/>
        </logger>
        <logger name="Pushable.Data" additivity="false">
            <level value="DEBUG"/>
            <appender-ref ref="DataLog"/>
        </logger>
    </log4net>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值