• log4net配置文件设置


    <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
    </configSections>
    <log4net>
    <!--定义输出到文件中-->
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <!--定义文件存放位置-->
    <file value="D:/log4netfile.txt" />
    <appendToFile value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <!--输出格式-->
    <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 行号:%l - 消息:%message%newline" />
    </layout>
    </appender>

    <!--指定文件的最大长度,如果超过了就重新生成一个文件,每个日志文件最大100KB,
    最大日志文件个数是10,如果记录的日志超过10个,就会覆盖第一个-->
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="D:/RollingFileAppender_log.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="100KB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 行号:%l - 消息:%message%newline" />
    </layout>
    </appender>

    <!--每天的日志都写入到一个文件中-->
    <appender name="RollingLogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender">
    <file value="RollingLogFileAppender_DateFormat_log.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <!--<datePattern value="yyyyMMdd-HHmm" />-->
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 行号:%l - 消息:%message%newline" />
    </layout>
    </appender>

    <!--定义输出到Oracle中-->
    <!--在Oracle中创建表的SQL语句
    create table log (
    Datetime timestamp(3),
    Thread varchar2(255),
    Log_Level varchar2(255),
    Logger varchar2(255),
    Message varchar2(4000)
    );-->
    <appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
    <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient" />
    <connectionString value="data source=[mydatabase];User ID=[user];Password=[password]" />
    <commandText value="INSERT INTO Log (Datetime,Thread,Log_Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
    <bufferSize value="128" />
    <parameter>
    <parameterName value=":log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
    </parameter>
    <parameter>
    <parameterName value=":thread" />
    <dbType value="String" />
    <size value="255" />
    <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=":logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%logger" />
    </layout>
    </parameter>
    <parameter>
    <parameterName value=":message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%message" />
    </layout>
    </parameter>
    </appender>
    <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
    <root>
    <!--定义输出级别-->
    <!--级别 允许的方法 Boolean属性 优先级别
    OFF Highest
    FATAL void Fatal(...); bool IsFatalEnabled;
    RROR void Error(...); bool IsErrorEnabled;
    WARN void Warn(...); bool IsWarnEnabled;
    INFO void Info(...); bool IsInfoEnabled;
    DEBUG void Debug(...); bool IsDebugEnabled;
    ALL Lowest-->
    <level value="ALL" />
    <!--文件形式记录日志-->
    <appender-ref ref="LogFileAppender" />
    <!--数据库形式记录日志-->
    <!--<appender-ref ref="AdoNetAppender_Oracle" />-->
    </root>
    </log4net>

  • 相关阅读:
    c++:资源管理(RAII)、new/delete的使用、接口设计与声明、swap函数
    C++普通链表增删、倒序打印
    Android-UI:按钮监听&文字/图片/进度条&动态变更&dialog&布局&自定义布局/控件/响应事件
    Android-活动生命周期&Bundle回收临时数据&活动启动模式&常用技巧
    C++字符串空格替换题
    C++二维数组查找题
    c++:const、初始化、copy构造/析构/赋值函数
    C++赋值运算符函数
    Android-活动创建&Toast&Menu&Intent
    用yarn代替cnpm,cnpm漏包有点严重
  • 原文地址:https://www.cnblogs.com/renfeng/p/4077343.html
Copyright © 2020-2023  润新知