首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4net消息文本问题

log4net消息文本问题
EN

Stack Overflow用户
提问于 2010-12-19 21:01:15
回答 2查看 2.2K关注 0票数 1

我正在尝试使用File来使log4net工作。

我对消息使用指定的模式布局,但问题是日志文件中没有文本。只有“?”符号

在写入文件之前,消息文本似乎以某种方式被破坏了。

我在windows 2008上使用Visual 2008。log4net在global.asax中初始化。

这是我对log4net的配置

代码语言:javascript
复制
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"></section>
. . .
<log4net debug="true">
    <appender name="INFOFileAppender" type="log4net.Appender.FileAppender">
        <lockingmodel type="log4net.Appender.FileAppender+MinimalLock"/>
      <threshold value="INFO" />  
      <file value="AOKlogs.txt" />
        <appendtofile value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>          
    </appender>
    <root>
        <level value="ALLL" />
        <appender-ref ref="INFOFileAppender" />
    </root>
  </log4net>

我尝试过滚动文件和简单的文件附件,但没有运气。

UPDATE I启用调试并配置log4net将调试日志写入txt文件。下面是上面的内容:

我在txt文件中启用了调试日志,如下所示:

log4net: log4net assembly log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821.从C:\Users\ScarryComp\AppData\Local\Temp\Temporary ASP.NET Files\website1\7e2bf4c4\4d1a1e05\assembly\dl3\c6bded9b\0086655c_d353c601\log4net.DLL. ( Microsoft 6.1.7600.0上的.NET运行时2.0.50727.4952 )加载log4net: DefaultRepositorySelector: defaultRepositoryType log4net.Repository.Hierarchy.Hierarchy log4net: DefaultRepositorySelector:为程序集App_Code.ch9yol_l、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null log4net: DefaultRepositorySelector: AssemblyApp_Code.ch9yol_l、Version=0.0.0.0、log4net、从C:\Users\ScarryComp\AppData\Local\Temp\Temporary ASP.NET Files\website1\7e2bf4c4\4d1a1e05\App_Code.ch9yol_l.dll log4net: DefaultRepositorySelector: Assembly App_Code.ch9yol_l、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null加载的PublicKeyToken=null没有指定RepositoryAttribute。log4net: DefaultRepositorySelector:程序集App_Code.ch9yol_l、Version=0.0.0.0、Culture=neutral、PublicKeyToken=null使用存储库log4net-默认存储库和存储库类型log4net.Repository.Hierarchy.Hierarchy log4net: DefaultRepositorySelector:创建存储库log4net-默认-存储库使用类型log4net.Repository.Hierarchy.Hierarchy log4net: XmlConfigurator:配置存储库log4net-默认-存储库使用.config文件节log4net: XmlConfigurator: Application文件为C:\Users\ScarryComp\Documents\VisualStudio2008\WebSites\WebSite1\web.config\ log4net: Configuration Repositorylog4net-默认-存储库::配置更新模式合并。log4net: XmlHierarchyConfigurator:记录器根级字符串就是全部。log4net: XmlHierarchyConfigurator: Logger根级别设置为name="ALL",value=-2147483648。log4net: XmlHierarchyConfigurator:加载附录INFOFileAppender类型: log4net.Appender.FileAppender log4net: XmlHierarchyConfigurator:将属性LockingModel设置为对象log4net.Appender.FileAppender+MinimalLock log4net: XmlHierarchyConfigurator:将属性阈值设置为级别值所有log4net: XmlHierarchyConfigurator:将属性文件设置为字符串值AOKlogs.txt log4net: XmlHierarchyConfigurator:将属性AppendToFile设置为布尔值,True log4net: AppendToFile:参数布局指定的子类型log4net::转换器文本选项存储格式min=-1,,leftAlign=False log4net: XmlHierarchyConfigurator:将属性布局设置为PatternLayout值log4net.Layout.PatternLayout log4net: FileAppender:用于编写C:\Users\ScarryComp\Documents\Visual 2008\WebSites\WebSite1\AOKlogs.txt的打开文件,附加True log4net: XmlHierarchyConfigurator: Created appender log4net: XmlHierarchyConfigurator:将名为INFOFileAppender的附录添加到记录器根。log4net: XmlHierarchyConfigurator: l Console类型: log4net.Appender.ConsoleAppender log4net: PatternParser格式min=-1,max=2147483647,leftAlign=False log4net: PatternParser格式min=-1,max=2147483647,leftAlign=False log4net: XmlHierarchyConfigurator:将属性ConversionPattern设置为字符串值%d %-5l - %m%n log4net: PatternParser: log4net选项[] Format min=-1,max=2147483647,log4net::转换器文本选项格式min=-1,,en22#:l选项[]格式,,#en27##en28:转换器文字选项- min=-1,max=2147483647,leftAlign=False log4net: PatternParser: PatternParser m选项[] Format m选项[] Format min=-1,max=2147483647,leftAlign=False log4net: PatternParser: PatternParser n选项[]Format min=-1,max=2147483647,leftAlign=False log4net: XmlHierarchyConfigurator:将属性布局设置为对象log4net.Layout.PatternLayout log4net: XmlHierarchyConfigurator: Created Appender log4net: XmlHierarchyConfigurator: appender命名控制台到记录器根。log4net: XmlHierarchyConfigurator:层次阈值[]

我更改了控制台附加程序,但日志中仍然没有看到文本:

更新2:文件附加程序没有工作,但是跟踪附录看起来还可以。然而,如果有什么东西能解释文件附加程序会发生什么,那就太好了,所以这个问题还没解决。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-21 13:18:18

我可以想象你有编码问题。默认情况下,Log4net使用ANSI编码,如果服务器(或服务)和计算机不使用相同的编码,则无法读取文件中的文本。

您可以尝试像这样配置编码:

代码语言:javascript
复制
<appender name="INFOFileAppender" type="log4net.Appender.FileAppender">
    <encoding value="unicodeFFFE" />
    ...
票数 2
EN

Stack Overflow用户

发布于 2010-12-19 22:05:42

您的级别值似乎是错误的,您可以尝试使用相同的配置来代替吗?

代码语言:javascript
复制
<root>
    <level value="ALL" />
    <appender-ref ref="INFOFileAppender" />
</root>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4485066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档