?? logging.cs
字號(hào):
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using log4net;
namespace BugNET.BusinessLogicLayer
{
/// <summary>
/// Logging Class
/// </summary>
public class Logging
{
/// <summary>
/// Configures the logging.
/// </summary>
public static void ConfigureLogging()
{
ConfigureAdoNetAppender();
//if email notification of errors are enabled create a smtp logging appender.
if (Convert.ToBoolean(HostSetting.GetHostSetting("EmailErrors")))
ConfigureEmailLoggingAppender();
}
/// <summary>
/// Configures the ADO net appender.
/// </summary>
private static void ConfigureAdoNetAppender()
{
// Get the Hierarchy object that organizes the loggers
log4net.Repository.Hierarchy.Hierarchy hier =
log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;
if (hier != null)
{
//get ADONetAppender
log4net.Appender.AdoNetAppender adoAppender =
(log4net.Appender.AdoNetAppender)hier.Root.GetAppender("AdoNetAppender");
if (adoAppender != null)
{
adoAppender.ConnectionString = ConfigurationManager.ConnectionStrings["BugNET"].ConnectionString;
adoAppender.ActivateOptions(); //refresh settings of appender
}
}
}
/// <summary>
/// Adds the email logging appender.
/// </summary>
public static void ConfigureEmailLoggingAppender()
{
log4net.Repository.Hierarchy.Hierarchy hier =
(log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
if (hier != null)
{
log4net.Appender.SmtpAppender appender = null;
appender = (log4net.Appender.SmtpAppender)hier.Root.GetAppender("SmtpAppender");
if (appender == null)
appender = new log4net.Appender.SmtpAppender();
appender.Name = "SmtpAppender";
appender.From = HostSetting.GetHostSetting("HostEmailAddress");
appender.To = HostSetting.GetHostSetting("ErrorLoggingEmailAddress");
appender.Subject = "BugNET Error";
appender.SmtpHost = HostSetting.GetHostSetting("SMTPServer");
appender.Priority = System.Net.Mail.MailPriority.High;
appender.Threshold = log4net.Core.Level.Error;
appender.BufferSize = 0;
//create patternlayout
log4net.Layout.PatternLayout patternLayout = new
log4net.Layout.PatternLayout("%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline");
patternLayout.ActivateOptions();
appender.Layout = patternLayout;
appender.ActivateOptions();
//add appender to root logger
hier.Root.AddAppender(appender);
}
}
/// <summary>
/// Removes the email logging appender.
/// </summary>
public static void RemoveEmailLoggingAppender()
{
log4net.Repository.Hierarchy.Hierarchy hier =
log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy;
if (hier != null)
{
log4net.Appender.SmtpAppender appender =
(log4net.Appender.SmtpAppender)hier.Root.GetAppender("SmtpAppender");
if (appender != null)
hier.Root.RemoveAppender("SmtpAppender");
}
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -