Log4net使用探究
阅读原文时间:2023年07月08日阅读:4

第一步:

通过Nuget package 搜索Apache Log4net安装

第二步:

在项目Global.asax文件中添加读取 配置文件

第三步:

编写Loghelper 文件

1 public class LogNetHelper
2 {
3 private static ILog iLog { get; set; }
4 //默认Info等级
5 public static void Write(string message)
6 {
7 SetLogLevel(LogLevel.Info, null).Info(message);
8 }
9 //自定义
10 public static ILog GetInstance(LogLevel level)
11 {
12 return SetLogLevel(level,null);
13 }
14 //是否需要重新加载配置文件使用
15 private static ILog GetIlog(string configPath,string typeStr)
16 {
17 if (string.IsNullOrEmpty(configPath))
18 {
19 iLog = log4net.LogManager.GetLogger(typeStr);
20 }
21 else
22 {
23 iLog = log4net.LogManager.GetLogger(typeStr);
24 log4net.Config.XmlConfigurator.Configure(new FileInfo(configPath));
25 }
26 return iLog;
27 }
28 //封装变化
29 private static ILog SetLogLevel(LogLevel level, string configPath)
30 {
31 ILog log;
32 switch (level)
33 {
34 case LogLevel.Fatal:
35 log = GetIlog(configPath, LogLevel.Fatal.ToString());
36 break;
37 case LogLevel.Error:
38 log = GetIlog(configPath, LogLevel.Error.ToString());
39 break;
40 case LogLevel.Warn:
41 log = GetIlog(configPath, LogLevel.Warn.ToString());
42 break;
43 case LogLevel.Debug:
44 log = GetIlog(configPath, LogLevel.Debug.ToString());
45 break;
46 case LogLevel.Info:
47 log = GetIlog(configPath, LogLevel.Info.ToString());
48 break;
49 default:
50 log = GetIlog(configPath, LogLevel.Info.ToString());
51 break;
52 }
53 return log;
54 }
55 56 }
57 //日志等级
58 public enum LogLevel
59 {
60 Fatal,
61 Error,
62 Warn,
63 Debug,
64 Info
65 }
66
67 }

第四步:

1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ¨C12C 33 ¨C13C 34 35 ¨C14C 36 37 ¨C15C 38 39 ¨C16C 40 41 ¨C17C 42 43 44 45 46 47 48 49 ¨C18C 50 51 ¨C19C 52 ¨C20C 53 54 ¨C21C 55 ¨C22C 56 ¨C23C 57 ¨C24C 58 59 ¨C25C 60 61 62 ¨C26C 63 64 ¨C27C 65 66 67 68 69 70 71 ¨C28C 72 73 ¨C29C 74 ¨C30C 75 76 ¨C31C 77 ¨C32C 78 ¨C33C 79 ¨C34C 80 81 ¨C35C 82 83 84 ¨C36C 85 86 ¨C37C 87 88 89 90 91 92 93 ¨C38C 94 95 ¨C39C 96 ¨C40C 97 98 ¨C41C 99 ¨C42C 100 ¨C43C 101 ¨C44C 102 103 ¨C45C 104 105 106 ¨C46C 107 108 ¨C47C 109 110 111 112 113 114 115 ¨C48C 116 117 ¨C49C 118 ¨C50C 119 120 ¨C51C 121 ¨C52C 122 ¨C53C 123 ¨C54C 124 125 ¨C55C 126 127 128 ¨C56C 129 130 ¨C57C 131 132 133 134 135 136 137 ¨C58C 138 139 ¨C59C 140 ¨C60C 141 142 ¨C61C 143 ¨C62C 144 ¨C63C 145 ¨C64C 146 147 ¨C65C 148 149 150 ¨C66C 151 152 ¨C67C 153 154 155 156 157 158 159 160 161 ¨C77C 178 179

 实际上就是一个根logger,所有其它logger都默认继承它,

  • appender-ref 零个或多个 需要引用的appender
  • level 记录级别

<appender_>_ 定义日志的输出方式 name属性必须唯一,type属性必须指定

日志布局,type属性必须指定

 过滤器,type属性必须指定

更多需要参考资料:

Apache Log4net 官方文档建议通读

csdn博友文章