我有以下示例代码可以正常工作:
public static void Main()
{
var traceListener = new FlatFileTraceListener("unifylogging.log",
"--------------------",
"-----------------------------");
var config = new LoggingConfiguration();
config.AddLogSource("My Log Source", SourceLevels.All, true).AddTraceListener(traceListener);
var logger = new LogWriter(config);
logger.Write("This is a test");
}
但是,如果我将logger.Write
调用更改为直接从手册中删除,则不会写任何内容:
logger.Write("Log entry with a category, priority, event ID,severity, and title.",
"General",
8,
9003,
TraceEventType.Warning,
"Logging Block Examples");
我还尝试使用ConsoleTraceListener
,以及Write
方法的其他一些重载,包括:
logger.Write("Hello from unify", "Cat1");
logger.Write("Hello from unify", new[] { "Cat1" });
唯一有效的是Write(string)
。
NB 建议的重复内容与Workflow Foundation有关,似乎与
System.Diagnostics.Trace
跟踪有关。这是关于统一记录。
答案 0 :(得分:0)
原来有一些奇怪的命名正在进行中。 name
方法实际中的.AddLogSource(string name)
参数定义了此配置将收集的类别。
因此,通过更改类别以匹配日志源,如下所示:
public static void Main()
{
var traceListener = new ConsoleTraceListener();
var config = new LoggingConfiguration();
config.AddLogSource("My Log Source", SourceLevels.All, true).AddTraceListener(traceListener);
var logger = new LogWriter(config);
logger.Write("This is a log.", "My Log Source");
}
将产生预期的日志。