相关疑难解决方法(0)

如何在包装NLog时保留呼叫站点信息

我有一个包装NLog的类(称为NLogger).我的日志保存到我的数据库中.我遇到问题的是如何显示日志记录发生的位置.我有这个

<parameter name="@Logger" layout="${callsite}"/>  
Run Code Online (Sandbox Code Playgroud)

但这只是显示Core.Logging.Loggers.NLogLogger.Log这是我的NlogWrapper而不是调用我的包装器的类.

这是我的包装方法

        public void Log(LogType messageType, Type context, string message, Exception exception)
        {
            NLog.Logger logger = NLog.LogManager.GetLogger(context.Name);
            LogLevel logLevel = LogLevel.Info; // Default level to info

            switch (messageType)
            {
                case LogType.Debug:
                    logLevel = LogLevel.Debug;
                    break;
                case LogType.Info:
                    logLevel = LogLevel.Info;
                    break;
                case LogType.Warning:
                    logLevel = LogLevel.Warn;
                    break;
                case LogType.Error:
                    logLevel = LogLevel.Error;
                    break;
                case LogType.Fatal:
                    logLevel = LogLevel.Fatal;
                    break;
                default:
                    throw new ArgumentException("Log message type is not supported");                    
            }

            logger.Log(logLevel, message, exception);
        }
Run Code Online (Sandbox Code Playgroud)

c# logging nlog

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

logging ×1

nlog ×1