log4net在窗口10中运行良好,但在Windows 7和xp中只有部分日志

时间:2017-07-17 06:44:40

标签: .net windows unicode log4net log4net-configuration

我使用log4net在我的应用程序中记录信息和错误,它在Windows 10中运行良好,但在Windows 7和Windows XP中,它只写了部分日志,如下所示

enter image description here

这是我的log4net配置,任何人都可以提供帮助吗?

public homeContent: any = {};

1 个答案:

答案 0 :(得分:2)

我怀疑你引用了?个字符。 ?是尝试无效代码页转换时使用的替换字符,例如从Unicode到无法处理所有字符的代码页。例如,尝试使用Latin-1代码页将日语或中文字符写入文件将使用?替换所有非拉丁字符。

这似乎是问题所在。默认情况下,log4net使用与系统区域设置相对应的Default编码来写入文件。

您可以使用FileAppender.Encoding属性明确指定编码:

<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    <encoding value = "utf-8" />

<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    <encoding value = "utf-8" />