您好,登錄后才能下訂單哦!
Asp.net使用log4net日志功能
1. 在bin文件夾下面引入 log4net.dll。你只需要引入log4net.dll 既可,其他dll是我摳圖的時候扣多了
2 . Global.asax 中加入
void Application_Start(object sender,EventArgs e)
{
// 在應用程序啟動時運行的代碼
log4net.Config.DOMConfigurator.Configure();
}
3.修改配置文件(web.config)
log日志既可以寫到數據庫,也可以寫入文本文件中
(1) .
configSections 中加入如下配置節,及引入log4net的處理程序集
<configSections>
<sectionname="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
(2). 在configuration下面加入下面的代碼(整個復制即可)
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="ADONetAppender"/>
</root>
<!--
相關操作代碼
-->
<appendername="ADONetAppender" type="log4net.Appender.ADONetAppender">
<bufferSize value="0"/>
<connectionType value="System.Data.SqlClient.SqlConnection,System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<connectionString value="server=.;database=test;userid=newst;password=xxx" />
<commandText value="INSERTINTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES(@log_date, @thread, @log_level, @logger, @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="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>
<parameter>
<parameterName value="@exception"/>
<dbType value="String"/>
<size value="2000"/>
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
</appender>
</log4net>
以上的這個配置是用于保存到數據庫的,
最后你要再數據庫中建立一張如下的表
CREATE TABLE [Log]
(
[Id] [int] IDENTITY(1, 1) NOT NULL,
[Date] [datetime] NOTNULL,
[Thread] [varchar] (255) NOTNULL,
[Level] [varchar] (50) NOT NULL,
[Logger] [varchar] (255) NOTNULL,
[Message] [varchar] (4000) NOT NULL,
[Exception] [varchar] (2000) NULL
)
上面的配置節是針對數據庫保存方式
如果你想要保存到你項目的文件中,請使用下面的配置節
<log4net>
<root>
<levelvalue="ALL" />
<appender-refref="LogFileAppender" />
</root>
<!--
相關操作代碼
-->
<appendername="LogFileAppender" type="log4net.Appender.FileAppender" >
<paramname="File"value="Log\log-file.txt" /> //日志文件保存的地方
<paramname="AppendToFile"value="true" />
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern" value="記錄時間:%d 線程 ID:[%t] 日志級別:%-5p 出錯類:%logger property:[%property{NDC}] 錯誤描述:%m%n" />
</layout>
</appender>
</log4net>
上面的配置節將把你的日志信息寫入 log-file.txt文件中 ,如果項目沒有這個文件,沒關心log4net 會自動創建。
4 最后一步就是如何使用log4net
新建一個類文件,引入如下代碼
public class MyLog
{
privatestatic readonlylog4net.ILog log = log4net.LogManager.GetLogger(typeof(MyLog));
//日志文件類
publicMyLog()
{
//
//TODO: 在此處添加構造函數邏輯
//
}
publicstatic voidlogInfor(string infor)
{
log.Info(infor);
}
publicstatic voidErrorInfor(string errInfor)
{
log.Info(errInfor);
}
}
然后在你需要使用的地方 調用即可
很簡單吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。