繁体   English   中英

如何让MetroLog开始登录Windows 8.1 Store应用程序?

[英]How do I get MetroLog to start logging in a Windows 8.1 Store App?

我正在尝试使用MetroLog为Windows应用商店应用程序编写日志文件。 我已经遵循了非常稀疏的文档(基本上是从Windows 8示例中复制的代码),但我没有在任何地方记录任何我可以告诉的内容。

我从一个基本的Windows 8.1 Store应用程序(使用“Split App”模板)开始,在我的App类的构造函数中,我已经完成了这个:

LogManagerFactory.DefaultConfiguration.AddTarget(
    LogLevel.Trace, 
    LogLevel.Fatal, 
    new FileStreamingTarget());

var logger = LogManagerFactory.DefaultLogManager.GetLogger<App>();

logger.Trace("Sample MetroLog Trace Message");
logger.Debug("Sample MetroLog Debug Message");
logger.Info("Sample MetroLog Info Message");
logger.Warn("Sample MetroLog Warn Message");
logger.Error("Sample MetroLog Error Message");
logger.Fatal("Sample MetroLog Fatal Message");

据我所知,我应该在我的本地存储中,在名为MetroLogs的文件夹中获取日志消息,但我没有看到任何数据被写入任何地方。 记录器声称所有这些日志级别都已启用,但没有任何内容写入磁盘。 Visual Studio中的“输出”窗口确实显示了以下内容:

1 | 2014-08-20T19:43:46.1197131 + 00:00 | TRACE | 3 |创建Logger'App'

但这是我从MetroLog看到的唯一活动。

我使用NuGet安装了MetroLog,但我怀疑这可能是问题的一部分。 NuGet添加了以下参考:

<Reference Include="MetroLog">
  <HintPath>..\packages\MetroLog.0.8.6\lib\netcore45\MetroLog.dll</HintPath>
</Reference>
<Reference Include="MetroLog.Platform">
  <HintPath>..\packages\MetroLog.0.8.6\lib\netcore45\MetroLog.Platform.dll</HintPath>
</Reference>
<Reference Include="MetroLog.WinRT">
  <HintPath>..\packages\MetroLog.0.8.6\lib\netcore45\MetroLog.WinRT.winmd</HintPath>
</Reference>

看起来很正确。 我注意到如果我在调试时尝试检查LogManagerFactory ,Visual Studio会抱怨,因为它似乎是在两个不同的程序集中定义的。 我不应该在同一个项目中同时拥有这两个引用吗?

对于遇到此问题的任何其他人:

默认情况下,似乎关闭了LogConfiguration对象(包括默认对象)。 没有MetroLog样本似乎反映了这一点,但为了进行任何记录,我手动启用了它。

我将代码更改为:

var configuration = new LoggingConfiguration();
#if DEBUG
configuration.AddTarget(LogLevel.Trace, LogLevel.Fatal, new DebugTarget());
#endif
configuration.AddTarget(LogLevel.Trace, LogLevel.Fatal, new StreamingFileTarget());
configuration.IsEnabled = true;

LogManagerFactory.DefaultConfiguration = configuration;

它现在正在运作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM