Component/IStation.Log4Net/LogHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Socket/IStation.DataDockingSocket4KQ/paras/AppParasHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Socket/IStation.DataDockingSocket4NT/IStation.DataDockingSocket4NT.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Socket/IStation.DataDockingSocket4NT/Log4Net/LogConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Socket/IStation.DataDockingSocket4NT/Log4Net/LogHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Socket/IStation.DataDockingSocket4NT/paras/AppParasHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Component/IStation.Log4Net/LogHelper.cs
@@ -8,10 +8,12 @@ { public class LogHelper { #region Info public static string InfoName = "Info"; //è¿éç loginfo å log4net.config éçååè¦ä¸æ · private static readonly log4net.ILog _loginfo =LogConfig.GetLogger("Info"); private static readonly log4net.ILog _loginfo = LogConfig.GetLogger(InfoName); /// <summary> /// åå ¥ä¿¡æ¯æ¥å¿ @@ -38,9 +40,9 @@ #endregion #region Debug public static string DebugName = "Debug"; //è¿éç logdebug å log4net.config éçååè¦ä¸æ · private static readonly log4net.ILog _logdebug = LogConfig.GetLogger("Debug"); private static readonly log4net.ILog _logdebug = LogConfig.GetLogger("DebugName"); /// <summary> /// åå ¥è°è¯æ¥å¿ @@ -67,7 +69,10 @@ #endregion #region Error private static readonly log4net.ILog _logerror = LogConfig.GetLogger("Error"); public static string ErrorName = "Error"; private static readonly log4net.ILog _logerror = LogConfig.GetLogger(ErrorName); /// <summary> /// åå ¥é误æ¥å¿ Socket/IStation.DataDockingSocket4KQ/paras/AppParasHelper.cs
@@ -39,6 +39,10 @@ { var json = FileHelper.ReadAllText(JsonFileName); _appparas = JsonHelper.Json2Object<AppParas>(json); IStation.LogHelper.InfoName = "InfoKQ"; IStation.LogHelper.ErrorName = "ErrorKQ"; IStation.LogHelper.DebugName = "DebugKQ"; } return _appparas; } Socket/IStation.DataDockingSocket4NT/IStation.DataDockingSocket4NT.csproj
@@ -9,11 +9,20 @@ </PropertyGroup> <ItemGroup> <Compile Remove="Log4Net\**" /> <EmbeddedResource Remove="Log4Net\**" /> <None Remove="Log4Net\**" /> </ItemGroup> <ItemGroup> <Compile Remove="instruction\NtnyMsgHelper.cs" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\Component\IStation.Log4Net\IStation.Log4Net.csproj" /> <PackageReference Include="log4net" Version="2.0.14" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\Component\IStation.Quartz\IStation.Quartz.csproj" /> <ProjectReference Include="..\..\Component\IStation.RabbitMq\IStation.RabbitMq.csproj" /> <ProjectReference Include="..\IStation.IDataDockingSocket\IStation.IDataDockingSocket.csproj" /> Socket/IStation.DataDockingSocket4NT/Log4Net/LogConfig.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,123 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections.Concurrent; using System.Configuration; using log4net; using log4net.Appender; using log4net.Core; using log4net.Layout; using log4net.Repository; using log4net.Repository.Hierarchy; using log4net.Config; using System.IO; using System.Web; //[assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace IStation { internal static class LogConfig { //é»è®¤é ç½® private const string LEVEL = "All";//ç级 private const bool APPENDTOFILE = true;//æ¯å¦è¿½å å°æä»¶ private const long MAXFILESIZE = 10240;//æå¤§æä»¶å°ºå¯¸ private const int MAXSIZEROLLBACKUPS = 1000; private const bool STATICLOGFILENAME = false;//æä»¶åç§°æ¯å¦åºå® private const string ROLLINGSTYLE = "Date"; private const string DATEPATTERN = "yyyyMMdd\".txt\""; private const string CONVERSIONPATTERN = "%d|%m|%n"; //æ¥å¿æ ¹ç®å½(åé) private const string _folder = "Logs4NT"; //è·åæ¥å¿ public static ILog GetLogger(string name, bool additivity = false) { var loggerName = GetLoggerName(name); if (LogManager.Exists(loggerName) == null) { RollingFileAppender appender = CreateFileAppender(loggerName, GetFolder(name)); Hierarchy hierarchy= (Hierarchy)LogManager.GetRepository(); Logger logger= hierarchy.GetLogger(loggerName,hierarchy.LoggerFactory); logger.Hierarchy = hierarchy; logger.Level = Level.All; logger.Parent = hierarchy.Root; logger.Additivity = additivity; logger.AddAppender(appender); logger.Repository.Configured = true; } var log = LogManager.GetLogger(loggerName); return log; } //è·åloggeråç§° private static string GetLoggerName(string name) { return $"log{name.ToLower()}"; } //è·åæä»¶å¤¹ private static string GetFolder(string name) { if (string.IsNullOrEmpty(name)) return string.Empty; return $"{_folder}\\{name}\\"; } //è·åæ¥å¿ç级 private static Level GetLoggerLevel(string level) { if (string.IsNullOrEmpty(level)) return Level.All; switch (level.ToLower()) { case "all": return Level.All; case "debug": return Level.Debug; case "info": return Level.Info; case "warn": return Level.Warn; case "error": return Level.Error; case "fatal": return Level.Fatal; default: return Level.All; } } //å建FileAppender private static RollingFileAppender CreateFileAppender ( string appenderName, string file, bool appendToFile = true, long maxFileSize = 10240, int maxSizeRollBackups = 1000, bool staticLogFileName = false, RollingFileAppender.RollingMode rollingMode = RollingFileAppender.RollingMode.Date, string datePattern = "yyyyMMdd\".txt\"", string layoutPattern = "%d|%m|%n") { RollingFileAppender appender = new RollingFileAppender { LockingModel = new FileAppender.MinimalLock(), Name = appenderName, File = file, AppendToFile = appendToFile, MaxFileSize = maxFileSize, MaxSizeRollBackups = maxSizeRollBackups, StaticLogFileName = staticLogFileName, RollingStyle = rollingMode, DatePattern = datePattern }; PatternLayout layout = new PatternLayout(layoutPattern); appender.Layout = layout; layout.ActivateOptions(); appender.ActivateOptions(); return appender; } } } Socket/IStation.DataDockingSocket4NT/Log4Net/LogHelper.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,142 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation { public class LogHelper { #region Info //è¿éç loginfo å log4net.config éçååè¦ä¸æ · private static readonly log4net.ILog _loginfo =LogConfig.GetLogger("Info"); /// <summary> /// åå ¥ä¿¡æ¯æ¥å¿ /// </summary> public static void Info(string info) { if (_loginfo.IsInfoEnabled) { _loginfo.Info(info); } } /// <summary> /// åå ¥ä¿¡æ¯æ¥å¿ /// </summary> public static void InfoFormat(string format, params object[] args) { if (_loginfo.IsInfoEnabled) { _loginfo.InfoFormat(format, args); } } #endregion #region Debug //è¿éç logdebug å log4net.config éçååè¦ä¸æ · private static readonly log4net.ILog _logdebug = LogConfig.GetLogger("Debug"); /// <summary> /// åå ¥è°è¯æ¥å¿ /// </summary> public static void Debug(string info) { if (_logdebug.IsInfoEnabled) { _logdebug.Debug(info); } } /// <summary> /// åå ¥è°è¯æ¥å¿ /// </summary> public static void DebugFormat(string format, params object[] args) { if (_logdebug.IsInfoEnabled) { _logdebug.DebugFormat(format, args); } } #endregion #region Error private static readonly log4net.ILog _logerror = LogConfig.GetLogger("Error"); /// <summary> /// åå ¥é误æ¥å¿ /// </summary> public static void Error(string info, Exception ex = null) { if (_logerror.IsErrorEnabled) { if (ex == null) _logerror.Error(info); else _logerror.Error(info, ex); } } /// <summary> /// åå ¥é误æ¥å¿ /// </summary> public static void ErrorFormat(string format, params object[] args) { if (_logerror.IsErrorEnabled) { _logerror.ErrorFormat(format, args); } } /// <summary> /// åå ¥é误æ¥å¿ /// </summary> public static void Error(string info, int line, Exception ex = null) { if (_logerror.IsErrorEnabled) { if (ex == null) _logerror.Error(info + " å¨ä»£ç 第" + line); else _logerror.Error(info + " å¨ä»£ç 第" + line, ex); } } #endregion #region èªå®ä¹ /// <summary> /// èªå®ä¹ /// </summary> public static void Custom(string name, string msg) { var log = LogConfig.GetLogger(name); if (log.IsInfoEnabled) { log.Info(msg); } } /// <summary> /// èªå®ä¹ /// </summary> public static void CustomFormat(string name, string format, params object[] args) { var log = LogConfig.GetLogger(name); if (log.IsInfoEnabled) { log.InfoFormat(format,args); } } #endregion } } Socket/IStation.DataDockingSocket4NT/paras/AppParasHelper.cs
ÎļþÒÑɾ³ý