欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【log4net教程日志分类和自动维护示例】,下面是详细的讲解!
log4net教程日志分类和自动维护示例
public static ILog GetLogger(string repositoryName="")
{
if (string.IsNullOrEmpty(repositoryName)) return LogManager.GetLogger("Defalut");
ILoggerRepository repository=null;
try
{
repository=LogManager.GetRepository(repositoryName);
}
catch (Exception) { }
//找到直接返回ilog
if (repository !=null)
return LogManager.GetLogger(repositoryName, "Defalut");
//未找到则创建,多线程下很有可能创建时,就存在了
try
{
repository=LogManager.CreateRepository(repositoryName);
}
catch (Exception)
{
repository=LogManager.GetRepository(repositoryName);
}
//配置日志等级 读取Appsettings默认配置
var appSet=ConfigurationManager.AppSettings.AllKeys;
//查找日志等级
const string logLevel="LogLevel";
var hasSettings=Array.IndexOf(appSet, logLevel);
if (hasSettings > -1)
{
var level=ConfigurationManager.AppSettings[logLevel].ToLower();
if (level=="all") repository.Threshold=Level.All;
else if (level=="debug") repository.Threshold=Level.Debug;
else if (level=="info") repository.Threshold=Level.Info;
else if (level=="warn") repository.Threshold=Level.Warn;
else if (level=="error") repository.Threshold=Level.Error;
else if (level=="fatal") repository.Threshold=Level.Fatal;
else if (level=="off") repository.Threshold=Level.Off;
}
else repository.Threshold=Level.All;
//查找输出Appender
const string logAppender="LogAppender";
hasSettings=Array.IndexOf(appSet, logAppender);
if (hasSettings > -1)
{
var appenders=ConfigurationManager.AppSettings[logAppender].ToLower().Split(',');
foreach (var appender in appenders)
{
if (appender=="rollingfile") LoadRollingFileAppender(repository);
else if (appender=="console") LoadConsoleAppender(repository);
else if(appender=="trace") LoadTraceAppender(repository);
}
}
else LoadRollingFileAppender(repository);
return LogManager.GetLogger(repositoryName, "Default");
}
关于log4net教程日志分类和自动维护示例的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
