zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    Android动画 interpolator的用法
    ListView的addAll方法
    界面切换动画
    ListView的setSelectionFromTop()方法与setSelection()方法的联系
    new总结
    linux中进程控制
    linux设备模型
    如何将驱动加入内核
    linux缓冲的概念fopen /open,read/write和fread/fwrite区别
    点云的滤波
  • 原文地址:https://www.cnblogs.com/renfeng/p/4077343.html
Copyright © 2011-2022 走看看