標籤:style io ar for 檔案 資料 on log cti
<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>
log4net設定檔設定