C#通过log4net进行异常记录
发布时间:2020-12-15 17:55:18 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 C#通过log4net进行异常记录 C#中异常的记录也有一个模板,就是log4net。多的就不说了直接看怎么用的吧。 1、引用log4net.dll。 2、实现log4net的方法
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
C#通过log4net进行异常记录
C#中异常的记录也有一个模板,就是log4net。多的就不说了直接看怎么用的吧。 1、引用log4net.dll。 2、实现log4net的方法。 public class LogImplement { private ILog logger; public LogImplement(ILog log) { this.logger = log; } public void Debug(object message) { this.logger.Debug(message); } public void Debug(object message,Exception e) { this.logger.Debug(message,e); } public void Warming(object message) { this.logger.Warn(message); } public void Warming(object message,Exception e) { this.logger.Warn(message,e); } public void Error(object message) { this.logger.Error(message); } public void Error(object message,Exception e) { this.logger.Error(message,e); } public void Info(object message) { this.logger.Info(message); } public void Info(object message,Exception e) { this.logger.Info(message,e); } } public class LogFactory { static LogFactory() { FileInfo configFile = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + @"Log.config"); log4net.Config.XmlConfigurator.Configure(configFile); } public static LogImplement GetLogger(Type type) { return new LogImplement(LogManager.GetLogger(type)); } public static LogImplement GetLogger(string str) { return new LogImplement(LogManager.GetLogger(str)); } }3、配置文件 <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-2.0"/> </configSections> <log4net> <root> <appender-ref ref="ErrorLogFileAppender"/> <appender-ref ref="WarningFileAppender"/> <appender-ref ref="DebugLogFileAppender"/> </root> <!--记录warning--> <appender name="WarningFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logWarn.log"/> <appendToFile value="true"/> <maxSizeRollBackups value="10"/> <maximumFileSize value="1MB"/> <rollingStyle value="Size"/> <staticLogFileName value="true"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [%-5level] [%logger] - %message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="WARN"/> <param name="LevelMax" value="WARN"/> </filter> </appender> <!--记录错误--> <appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logError.log"/> <appendToFile value="true"/> <maxSizeRollBackups value="10"/> <maximumFileSize value="1MB"/> <rollingStyle value="Size"/> <staticLogFileName value="true"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [%-5level] [%logger] - %message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ERROR"/> <param name="LevelMax" value="ERROR"/> </filter> </appender> <!--记录调试日志--> <appender name="DebugLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logdebug.log"/> <param name="AppendToFile" value="true"/> <param name="MaxSizeRollBackups" value="10"/> <param name="MaximumFileSize" value="1MB"/> <param name="StaticLogFileName" value="true"/> <param name="RollingStyle" value="Size"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="[%p] [%d{MM/dd/yyyy HH:mm:ss,fff}] [%t] [%c]- %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="DEBUG"/> <param name="LevelMax" value="DEBUG"/> </filter> </appender> <!--调试模式,输出日志到控制台--> <appender name="ConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> <mapping> <level value="ERROR"/> <foreColor value="Red,HighIntensity"/> <!--<backColor value="Green" />--> </mapping> <mapping> <level value="DEBUG"/> <foreColor value="Yellow,HighIntensity"/> <backColor value="Green"/> </mapping> <layout type="log4net.Layout.PatternLayout"> <footer value="--------------------------------------------------------------------"/> <param name="ConversionPattern" value="[%p] [%d{MM/dd/yyyy HH:mm:ss,fff}] [%t] [%c]- %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="DEBUG"/> <param name="LevelMax" value="ERROR"/> </filter> </appender> </log4net> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>其中,?表示异常文件超过1M大小就自动新增文件;表示异常文件的路径;表示要支持的.net版本。至于其他属性在使用中自己可以慢慢体会。 4、记录异常 public class RecordLog { public static void RecordException(Exception e) { LogImplement log = LogFactory.GetLogger(typeof(RecordLog)); log.Error(e.Message + e.StackTrace); } }5、调用 static void Main(string[] args) { try { string test = "123tr"; int i = int.Parse(test);//制造一个异常 } catch(Exception e) { RecordLog.RecordException(e); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |