Log 4 Net構成
最初のステップは、Log 4 Netをダウンロードします.dll
http://download.csdn.net/detail/cpcpc/4011877
第2部では、プロファイルappを追加する.config,追加位置はコンソールアプリケーション,Windowsアプリケーション,Windowsサービス,Asp.Net Webサイトの下、Silverlightの下
ステップ3でlog 4 Netを追加します.dll参照、LogOustクラスの作成
ステップ4では、LogOutsクラスが存在するクラスライブラリのPropertiesの下にあるAssemblyInfo.csでの追加
WINFORMアプリケーションの場合は、[assembly:log 4 net.Config.DOMConfigurator()]または[assembly:log 4 net.Config.XmlConfigurator()]WEBFORMの場合は[assembly:log 4 net.Config.DOMConfigurator(ConfigFile="web.config",Watch=true)に参加できます.
ステップ5、呼び出し、ログへの書き込み.ログを記録する必要がある場所で次の呼び出しを行えばいいです.
LogOuts.Info(「ログ記録成功!」);
http://download.csdn.net/detail/cpcpc/4011877
第2部では、プロファイルappを追加する.config,追加位置はコンソールアプリケーション,Windowsアプリケーション,Windowsサービス,Asp.Net Webサイトの下、Silverlightの下
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<log4net>
<!--1 -->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!-- -->
<file type="log4net.Util.PatternString" value="% \%date{yyyMMdd}\log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<!-- -->
<conversionPattern value=" :%date ID:[%thread] :%-5level :%logger - :%message%newline" />
</layout>
<!--<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="WARN" />
<param name="LevelError" value="ERROR" />
<param name="LevelFatal" value="FATAL" />
<param name="LevelInfo" value="INFO" />
</filter>-->
</appender>
<!--2 -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value=" :%date ID:[%thread] :%-5level :%logger - :%message%newline" />
</layout>
<!--<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>-->
</appender>
<!--3 windows -->
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value=" :%date ID:[%thread] :%-5level :%logger - :%message%newline" />
</layout>
</appender>
<!--4 , Access , C log4net.mdb-->
<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" />
<!-- -->
<!--<appender-ref ref="ConsoleAppender" />-->
<!--Windows -->
<!--<appender-ref ref="EventLogAppender" />-->
<!-- , -->
<!--<appender-ref ref="AdoNetAppender_Access" />-->
</root>
<logger name="AppLogging">
<!--<level value="Info"/>-->
<level value="All"/>
</logger>
</log4net>
</configuration>
ステップ3でlog 4 Netを追加します.dll参照、LogOustクラスの作成
public class LogOuts
{
public static void Debug(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
if(log.IsDebugEnabled)
{
log.Debug(message);
}
}
public static void Error(string message)
{
//log4net.ILog log = log4net.LogManager.GetLogger("log4net");
log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
if(log.IsErrorEnabled)
{
log.Error(message);
}
}
public static void Fatal(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
if(log.IsFatalEnabled)
{
log.Fatal(message);
}
}
public static void Info(string message)
{
//log4net.ILog log = log4net.LogManager.GetLogger("log4net");
log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
if(log.IsInfoEnabled)
{
log.Info(message);
}
}
public static void Warn(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
if(log.IsWarnEnabled)
{
log.Warn(message);
}
}
}
ステップ4では、LogOutsクラスが存在するクラスライブラリのPropertiesの下にあるAssemblyInfo.csでの追加
WINFORMアプリケーションの場合は、[assembly:log 4 net.Config.DOMConfigurator()]または[assembly:log 4 net.Config.XmlConfigurator()]WEBFORMの場合は[assembly:log 4 net.Config.DOMConfigurator(ConfigFile="web.config",Watch=true)に参加できます.
ステップ5、呼び出し、ログへの書き込み.ログを記録する必要がある場所で次の呼び出しを行えばいいです.
LogOuts.Info(「ログ記録成功!」);