代码之家  ›  专栏  ›  技术社区  ›  Pieter van Kampen

CallSite MethodName始终呈现为MoveNext

  •  0
  • Pieter van Kampen  · 技术社区  · 8 年前

    当使用 CallSite MoveNext 对于方法名。这是虫子,还是我做错了什么?

    NLog版本:4.6.0

    当前NLog配置(xml或C#,如果相关)

    <target xsi:type="File" name="ownFile-trace" fileName="logs\${machinename}-trace.log"
            layout="${longdate}|${aspnet-request-ip}|${aspnet-User-Identity}|${pad:padding=-5:${uppercase:${level}}}|${assembly-version}|${pad:padding=-3:${threadid}}|${aspnet-mvc-controller}|${callsite:className=True:includeNamespace=False:fileName=False:includeSourcePath=False:methodName=True}|${message}|${exception}"
            maxArchiveFiles="14"
            archiveFileName="logs\archive\${machinename}-trace.{#}.zip"
            archiveNumbering="Date"
            archiveEvery="Saturday"
            archiveDateFormat="yyyyMMdd"
            enableArchiveFileCompression ="true"
            />
    

    初始化:

        public class Program
    {
        private static readonly Logger Logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
    
        public static void Main(string[] args)
        {
    
            try
            {
                Logger.Info("init main");
    
                CreateWebHostBuilder(args).Build().Run();
    
            }
            catch (Exception e)
            {
                //NLog: catch setup errors
                Logger.Error(e, "Stopped program because of exception");
                throw;
            }
            finally
            {
                // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
                NLog.LogManager.Shutdown();
            } 
    
        }
    
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .ConfigureLogging(logging =>
                {
                    logging.ClearProviders();
                    logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
                })
                .UseNLog() // NLog: setup NLog for Dependency injection
                .ConfigureAppConfiguration(ConfigConfiguration);
    

    ...

    目前的结果是什么?

    2018-08-12 16:44:58.8795|::1||TRACE|8.8.11.0|4  |Home|HomeController.MoveNext|
    

    |

    2018-08-12 16:44:58.8795|::1||TRACE|8.8.11.0|4  |Home|HomeController.Index||
    

    你查过内部日志了吗?没有警告

    有什么解决办法吗?不

    有没有一个版本能起作用?不确定

    你能帮我们写一个单元测试吗?不

    1 回复  |  直到 8 年前
        1
  •  2
  •   Rolf Kristensen Raúl Diego    8 年前

    你看过Wiki页面上的 ${callsite} 布局渲染器:

    https://github.com/NLog/NLog/wiki/Callsite-layout-renderer

    尝试启用以下选项:

    • 匿名委托的清除名称

    前任。

    ${callsite:className=True:includeNamespace=False:fileName=False:includeSourcePath=False:methodName=True:cleanNamesOfAnonymousDelegates=True:cleanNamesOfAsyncContinuations=True}
    

    https://github.com/NLog/NLog/issues/1798 (轻微断裂变化)