tangxu
2022-10-27 b8dce13e148cb4a64921bf3619ea45836d8993e3
修改日志文件名
已添加2个文件
已修改3个文件
已删除1个文件
311 ■■■■■ 文件已修改
Component/IStation.Log4Net/LogHelper.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Socket/IStation.DataDockingSocket4KQ/paras/AppParasHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Socket/IStation.DataDockingSocket4NT/IStation.DataDockingSocket4NT.csproj 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Socket/IStation.DataDockingSocket4NT/Log4Net/LogConfig.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Socket/IStation.DataDockingSocket4NT/Log4Net/LogHelper.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Socket/IStation.DataDockingSocket4NT/paras/AppParasHelper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | 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
ÎļþÒÑɾ³ý