目前,我在方法中有两个变量,
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文件如下所示:
行数:456经过时间:87878
答案 0 :(得分:0)
尝试
<target name="sql" xsi:type="File" fileName="C:\Users\Dev\Desktop\Framework\Logs\sql.txt"
layout="'Rows count:'${rowsTotal} 'Elapsed Time:' ${processTime}"/>
答案 1 :(得分:0)
也许将目标布局更改为${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