加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 应用程序不记录

发布时间:2020-12-16 03:40:44 所属栏目:asp.Net 来源:网络整理
导读:我有许多ASP.NET应用程序使用log4net没有问题.我无法使用log4net来记录我使用MVC库编写的任何服务中的任何内容.我在所有服务中都具有相同的配置(除了日志文件名).每个服务都作为同一个用户运行,并使用相同的应用程序池. 这是我正在使用的配置: log4net appe
我有许多ASP.NET应用程序使用log4net没有问题.我无法使用log4net来记录我使用MVC库编写的任何服务中的任何内容.我在所有服务中都具有相同的配置(除了日志文件名).每个服务都作为同一个用户运行,并使用相同的应用程序池.

这是我正在使用的配置:

<log4net>
        <appender name="XMLAppender" type="log4net.Appender.RollingFileAppender">
            <file value="C:logsSERVICENAME.Log.xml"/>
            <appendToFile value="true"/>
            <rollingStyle value="Composite"/>
            <datePattern value="yyyyMM"/>
            <maxSizeRollBackups value="10"/>
            <maximumFileSize value="100MB"/>
            <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
                <locationInfo value="false"/>
            </layout>
    </appender>
        <root>
            <level value="INFO"/>
            <appender-ref ref="XMLAppender"/>
        </root>
    </log4net>

我总共有configSection条目,如下所示:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
...
</configSections>

我还打开了log4net调试并设置system.diagnostics将跟踪写入文件.在这里我看到了MVC和非MVC应用程序之间输出的差异.

MVC:

log4net: log4net assembly [log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821]. Loaded from [C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET FilesMVCSERVICENAME25c1b478883641acassemblydl3707a9005e1887c7f_5040ca01log4net.DLL]. (.NET Runtime [2.0.50727.3074] on Microsoft Windows NT 6.0.6002 Service Pack 2,v.286)
log4net: DefaultRepositorySelector: defaultRepositoryType [log4net.Repository.Hierarchy.Hierarchy]
log4net: DefaultRepositorySelector: Creating repository for assembly [MVCSERVICENAME,Version=1.0.0.0,PublicKeyToken=null]
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME,PublicKeyToken=null] Loaded From [C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET FilesMVCSERVICENAME25c1b478883641acassemblydl313a19b30fdb642f4_937dca01MVCSERVICENAME.DLL]
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME,PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME,PublicKeyToken=null] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net: DefaultRepositorySelector: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy]
log4net: Hierarchy: Shutdown called on Hierarchy [log4net-default-repository]

非MVC(工作):

log4net log4net assembly [log4net,PublicKeyToken=1b44e1d426115821]. Loaded from [C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET FilesSERVICENAME33034378c825df91assemblydl3fe97001ae1887c7f_5040ca01log4net.DLL]. (.NET Runtime [2.0.50727.3074] on Microsoft Windows NT 6.0.6002 Service Pack 2,v.286)
log4net DefaultRepositorySelector: defaultRepositoryType [log4net.Repository.Hierarchy.Hierarchy]
log4net DefaultRepositorySelector: Creating repository for assembly [SERVICENAME,PublicKeyToken=null]
log4net DefaultRepositorySelector: Assembly [SERVICENAME,PublicKeyToken=null] Loaded From [C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET FilesSERVICENAME33034378c825df91assemblydl3827ed0681a38e2eb_fc7cca01SERVICENAME.DLL]
log4net DefaultRepositorySelector: Assembly [SERVICENAME,PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net DefaultRepositorySelector: Assembly [SERVICENAME,PublicKeyToken=null] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net DefaultRepositorySelector: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy]
log4net XmlConfigurator: configuring repository [log4net-default-repository] using .config file section
log4net XmlConfigurator: Application config file is [C:contentSERVICENAMEweb.config]
log4net XmlConfigurator: Configuring Repository [log4net-default-repository]
log4net XmlHierarchyConfigurator: Configuration update mode [Merge].
log4net XmlHierarchyConfigurator: Logger [root] Level string is [INFO].
log4net XmlHierarchyConfigurator: Logger [root] level set to [name="INFO",value=40000].
log4net XmlHierarchyConfigurator: Loading Appender [XMLAppender] type: [log4net.Appender.RollingFileAppender]
log4net XmlHierarchyConfigurator: Setting Property [File] to String value [C:WindowsTempSERVICENAME.Log.xml]
log4net XmlHierarchyConfigurator: Setting Property [AppendToFile] to Boolean value [True]
log4net XmlHierarchyConfigurator: Setting Property [RollingStyle] to RollingMode value [Composite]
log4net XmlHierarchyConfigurator: Setting Property [DatePattern] to String value [yyyyMM]
log4net XmlHierarchyConfigurator: Setting Property [MaxSizeRollBackups] to Int32 value [10]
log4net XmlHierarchyConfigurator: Setting Property [MaximumFileSize] to String value [100MB]
log4net XmlHierarchyConfigurator: Setting Property [LocationInfo] to Boolean value [False]
log4net XmlHierarchyConfigurator: Setting Property [Layout] to object [log4net.Layout.XmlLayoutSchemaLog4j]
log4net RollingFileAppender: Type = [0],r0 = [197001],r1 = [197001]
log4net RollingFileAppender: Type = [1],r1 = [197001]
log4net RollingFileAppender: Type = [2],r1 = [197001]
log4net RollingFileAppender: Type = [3],r1 = [197001]
log4net RollingFileAppender: Type = [4],r1 = [197001]
log4net RollingFileAppender: Type = [5],r1 = [197002]
log4net RollingFileAppender: Searched for existing files in [C:WindowsTemp]
log4net RollingFileAppender: curSizeRollBackups starts at [0]
log4net RollingFileAppender: [200912] vs. [200912]
log4net FileAppender: Opening file for writing [C:WindowsTempSERVICENAME.Log.xml] append [True]
log4net XmlHierarchyConfigurator: Created Appender [XMLAppender]
log4net XmlHierarchyConfigurator: Adding appender named [XMLAppender] to logger [root].
log4net XmlHierarchyConfigurator: Hierarchy Threshold []
log4net DefaultRepositorySelector: Creating repository for assembly [SERVICENAME.Core,PublicKeyToken=null]
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core,PublicKeyToken=null] Loaded From [C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET FilesSERVICENAME33034378c825df91assemblydl3d74dc9d58aa6a7e8_fc7cca01SERVICENAME.Core.DLL]
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core,PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core,PublicKeyToken=null] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net DefaultRepositorySelector: repository [log4net-default-repository] already exists,using repository type [log4net.Repository.Hierarchy.Hierarchy]

在这两种情况下,我都在创建ILog对象,如下所示:

private static readonly ILog log = LogManager.GetLogger(typeof(CLASSNAME));

是否有一些我缺少的东西或我需要做些什么改变才能让这个为MVC工作?此时,如果已知可以正常使用MVC,我也愿意更改为另一个日志记录解决方案.

谢谢
蒂姆

解决方法

我知道这篇文章已经很老了,但我也在WCF项目中遇到了这个问题(默认的log4net存储库).
我使用带有log4net部分的web.config(不是一个单独的log4net.config文件).

为了解决这个问题,我在AssemblyInfo.cs中放置了以下内容:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config",Watch = true)]

如果使用外部配置文件也是如此.HTH,夏兰

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读