LogHelper
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using log4net; namespace xiaoy.Comm { /// <summary> /// 日志类 /// </summary> public class LogHelper { static log4net.ILog _log = null; static LogHelper() { log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config")); _log = log4net.LogManager.GetLogger(""); } public static void Info(string msg) { _log.Info(msg); } public static void Debug(string msg) { _log.Debug(msg); } public static void Error(string msg) { _log.Error(msg); } public static void Error(string msg,Exception ex) { _log.Error(msg,ex); } public static void Error(Exception ex) { _log.Error(ex); } } }
log4net.config:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--定义输出到文件中 Debug和info 级别--> <appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <!--日志文件路径和文件名称 --> <datePattern value="yyyyMM\\yyyyMMdd'_info.txt'" /> <staticLogFileName value="false" /> <param name="MaxSizeRollBackups" value="100" /> <layout type="log4net.Layout.PatternLayout"> <!--记录日志的格式内容--> <conversionPattern value="[%date] %-5level %message%newline" /> </layout> <!--日志顺序 级别从低到高Debug,Info,Warn,Error,Fatal--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="INFO" /> </filter> </appender> <!--定义输出到文件中 Warn和error 级别--> <appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <!--日志文件路径和文件名称 --> <datePattern value="yyyyMM\\yyyyMMdd'_error.txt'" /> <staticLogFileName value="false" /> <param name="MaxSizeRollBackups" value="100" /> <layout type="log4net.Layout.PatternLayout"> <!--记录日志的格式内容--> <conversionPattern value="[%date] %-5level %message%newline" /> </layout> <!--日志顺序 级别从低到高Debug,Info,Warn,Error,Fatal--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Warn" /> <param name="LevelMax" value="Error" /> </filter> </appender> <!--定义输出到windows事件中--> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到Console中--> <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> <mapping> <level value="ERROR" /> <foreColor value="White" /> <backColor value="Red, HighIntensity" /> </mapping> <mapping> <level value="DEBUG" /> <backColor value="Green" /> </mapping> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到数据库中,这里举例输出到sqlserver数据库中--> <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="2" /> <connectionType value="System.Data.SqlClient.SqlConnection, System.Data" /> <connectionString value="server=(local);database=TestBase;integrated security=false;persist security info=True;UID=sa;PWD=" /> <commandText value="INSERT INTO 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> <root> <level value="ALL"/> <!--文件形式记录日志 ERROR--> <appender-ref ref="ErrorRollingFileAppender" /> <appender-ref ref="InfoRollingFileAppender" /> <!--Windows事件日志--> <!--<appender-ref ref="EventLogAppender" />--> <!-- 如果不启用相应的日志记录,可以通过这种方式注释掉 <appender-ref ref="AdoNetAppender" /> --> <!--console日志 <appender-ref ref="ColoredConsoleAppender" />--> </root> </log4net> </configuration>
-----------------------------------------------------------------

浙公网安备 33010602011771号