gpt4 book ai didi

c# - 如何让 MetroLog 开始登录 Windows 8.1 应用商店应用程序?

转载 作者:行者123 更新时间:2023-11-30 19:26:06 25 4
gpt4 key购买 nike

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

我从一个基本的 Windows 8.1 应用商店应用开始(使用“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|已创建记录器“应用”

但这是我从 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 样本似乎都没有反射(reflect)这一点,但为了进行任何日志记录,我手动启用了它。

我将我的代码更改为:

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;

它现在正在运行。

关于c# - 如何让 MetroLog 开始登录 Windows 8.1 应用商店应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25413284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com