如何将方法中的多个变量传递给 NLOG.config?
How can i pass multiple variables from a method to NLOG.config?
目前我在一个方法中有两个变量,
float processTime = processTime.ElapsedMilliseconds;
var rowsTotal = resultadoSQL.Rows.Count;
我想将这两个变量传递给NLog.config,所以我可以这样使用它们:
<target name="sql" xsi:type="File" fileName="C:\Users\Dev\Desktop\Framework\Logs\sql.txt"
layout="'Rows count:' (rowsTotal) 'Elapsed Time:' processTime"/>
显然布局中的语法错误,他的目的只是为了展示我想要实现的目标。 .txt 文件如下所示:
Rows count: 456 Elapsed Time: 87878
尝试
<target name="sql" xsi:type="File" fileName="C:\Users\Dev\Desktop\Framework\Logs\sql.txt"
layout="'Rows count:'${rowsTotal} 'Elapsed Time:' ${processTime}"/>
也许将目标布局更改为 ${message}
并执行此操作:
logger.Info($"'Rows count:' {rowsTotal} 'Elapsed Time:' {processTime}");
您还可以更高级地使用 NLog LogEvent 属性:
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
如果使用 NLog 4.5,则可以使用结构化日志记录:
https://github.com/NLog/NLog/wiki/How-to-use-structured-logging
你也可以使用 NLog Fluent API:
https://github.com/NLog/NLog/wiki/Fluent-API
或者直接把属性写进NLog.LogEventInfo.Properties
目前我在一个方法中有两个变量,
float processTime = processTime.ElapsedMilliseconds;
var rowsTotal = resultadoSQL.Rows.Count;
我想将这两个变量传递给NLog.config,所以我可以这样使用它们:
<target name="sql" xsi:type="File" fileName="C:\Users\Dev\Desktop\Framework\Logs\sql.txt"
layout="'Rows count:' (rowsTotal) 'Elapsed Time:' processTime"/>
显然布局中的语法错误,他的目的只是为了展示我想要实现的目标。 .txt 文件如下所示:
Rows count: 456 Elapsed Time: 87878
尝试
<target name="sql" xsi:type="File" fileName="C:\Users\Dev\Desktop\Framework\Logs\sql.txt"
layout="'Rows count:'${rowsTotal} 'Elapsed Time:' ${processTime}"/>
也许将目标布局更改为 ${message}
并执行此操作:
logger.Info($"'Rows count:' {rowsTotal} 'Elapsed Time:' {processTime}");
您还可以更高级地使用 NLog LogEvent 属性:
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
如果使用 NLog 4.5,则可以使用结构化日志记录:
https://github.com/NLog/NLog/wiki/How-to-use-structured-logging
你也可以使用 NLog Fluent API:
https://github.com/NLog/NLog/wiki/Fluent-API
或者直接把属性写进NLog.LogEventInfo.Properties