使用的最新的log4net版本,显示上有点奇怪:
public class Log { private static Object thislock = new Object(); /// <summary> /// 添加日志 /// </summary> /// <param name="message">日志内容</param> /// <param name="filename">日志文件前缀名</param> /// <param name="directory">日志目录</param> /// <returns></returns> public static bool AddLog(string message, string filename = "", string logDirectory = "") { string directory = AppDomain.CurrentDomain.BaseDirectory + "\\Logs"; if (logDirectory != "") { directory += "\\" + logDirectory; } if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } string path = Path.Combine(directory, filename == null ? string.Empty : filename + DateTime.Now.ToString("yyyyMMdd") + ".txt"); if (!System.IO.File.Exists(path)) { FileStream fs1 = new FileStream(path, FileMode.Create, FileAccess.Write);//创建写入文件 StreamWriter sw = new StreamWriter(fs1); sw.WriteLine("message: \r\n" + message + "\r\n" + System.DateTime.Now.ToString() + "\r\n");//开始写入值 sw.Close(); fs1.Close(); } else { lock (thislock) { StreamWriter sr = System.IO.File.AppendText(path); sr.WriteLine("message: \r\n" + message + "\r\n" + System.DateTime.Now.ToString() + "\r\n");//开始写入值 sr.Close(); } } return true; } }
<?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <!--日志--> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <!--<logger name="logconsole"> <level value="INFO" /> <appender-ref ref="ConsoleAppender" /> </logger>--> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Logs\Error\error.txt" /> <param name="DatePattern" value="yyyyMMdd"/> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaximumFileSize" value="1MB" /> <param name="RollingStyle" value="Size" /> <param name="StaticLogFileName" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p %d [%c] %m%n" /> </layout> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Logs\Info\info.txt" /> <param name="DatePattern" value="yyyyMMdd"/> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaximumFileSize" value="1MB" /> <param name="RollingStyle" value="Size" /> <param name="StaticLogFileName" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p %d [%c] %m%n" /> </layout> </appender> <!--<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d [%t] %-5p %m%n" /> </layout> </appender>--> </log4net> </configuration>
public class LogHelper { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); /// <summary> /// 普通的文件记录日志 /// </summary> /// <param name="info"></param> public static void WriteLog(string info) { if (loginfo.IsInfoEnabled) { loginfo.Info(info); } } /// <summary> /// 错误日志 /// </summary> /// <param name="info"></param> /// <param name="se"></param> public static void WriteLog(string info, Exception se) { if (logerror.IsErrorEnabled) { logerror.Error(info, se); } } }
最后,吐槽下cnblog在文章时加入图片的难度,让人累觉不爱。
原文:http://www.cnblogs.com/lihan829/p/5248952.html