<target name="console" xsi:type="AsyncWrapper" >
<target xsi:type="ColoredConsole" layout="${longdate:padding=-10}${callsite:className=false:includeSourcePath=false:methodName=false} | ${message}" >
<highlight-row condition="level >= LogLevel.Info" foregroundColor="Green" backgroundColor="NoChange"/>
</target>
</target>
我有一个自定义属性设置在日志事件上,例如:
private LogEventInfo GetLogEvent(string loggerName, LogLevel level, string message, ConsoleColor color)
{
var logEvent = new LogEventInfo(level, loggerName, message);
logEvent.Properties["color"] = color;// color= any console color
}
这将设置“颜色”属性。(假设这里是“红色”)
我正在尝试在目标中使用此“颜色”属性,例如:
<highlight-row condition="equals('${color}','Red')" foregroundColor="Red" backgroundColor="NoChange"/>
这不起作用,我已经尝试过了。
<highlight-row condition="equals('${event-context:item=color}','Red')" foregroundColor="Red" backgroundColor="NoChange"/>
但是没有运气。
我是否遗漏了什么,或者有更好的方法来解决这个问题?我们可以在这种情况下使用Layout渲染器吗?如果可以,如何实现?