【发布时间】:2017-09-22 15:45:30
【问题描述】:
我想使用 NLog 将文件写为 JSON。我知道可以这样做。
<target name="jsonFile" xsi:type="File" fileName="${logFileNamePrefix}.json">
<layout xsi:type="JsonLayout">
<attribute name="time" layout="${longdate}" />
<attribute name="level" layout="${level:upperCase=true}"/>
<attribute name="message" layout="${message}" />
</layout>
</target>
但我想在我的 C# 代码中执行此操作。我从这个开始:
var config = new LoggingConfiguration();
var fileTarget = new FileTarget();
string folder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
string fullPath = Path.Combine(folder, "mylog.json");
fileTarget.FileName = fullPath;
config.AddTarget("file", fileTarget);
var fileRule = new LoggingRule("*", LogLevel.Error, fileTarget);
config.LoggingRules.Add(fileRule);
LogManager.Configuration = config;
但它只将其写为文件而不是 JSON。任何帮助或提示将不胜感激
【问题讨论】: