gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:06:13 25 4
gpt4 key购买 nike

我有许多 ASP.NET 应用程序使用 log4net 没有问题。我无法让 log4net 在我使用 MVC 库编写的任何服务中记录任何内容。我在所有服务中都有相同的配置(除了日志文件名)。每个服务都以相同的用户身份运行并使用相同的应用程序池。

这是我正在使用的配置:

<log4net>
<appender name="XMLAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\logs\SERVICENAME.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:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\MVCSERVICENAME\25c1b478\883641ac\assembly\dl3\707a9005\e1887c7f_5040ca01\log4net.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, Culture=neutral, PublicKeyToken=null]
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] Loaded From [C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\MVCSERVICENAME\25c1b478\883641ac\assembly\dl3\13a19b30\fdb642f4_937dca01\MVCSERVICENAME.DLL]
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net: DefaultRepositorySelector: Assembly [MVCSERVICENAME, Version=1.0.0.0, Culture=neutral, 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, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821]. Loaded from [C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\SERVICENAME\33034378\c825df91\assembly\dl3\fe97001a\e1887c7f_5040ca01\log4net.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, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
log4net DefaultRepositorySelector: Assembly [SERVICENAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] Loaded From [C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\SERVICENAME\33034378\c825df91\assembly\dl3\827ed068\1a38e2eb_fc7cca01\SERVICENAME.DLL]
log4net DefaultRepositorySelector: Assembly [SERVICENAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net DefaultRepositorySelector: Assembly [SERVICENAME, Version=1.0.0.0, Culture=neutral, 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:\content\SERVICENAME\web.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:\Windows\Temp\SERVICENAME.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], r0 = [197001], r1 = [197001]
log4net RollingFileAppender: Type = [2], r0 = [197001], r1 = [197001]
log4net RollingFileAppender: Type = [3], r0 = [197001], r1 = [197001]
log4net RollingFileAppender: Type = [4], r0 = [197001], r1 = [197001]
log4net RollingFileAppender: Type = [5], r0 = [197001], r1 = [197002]
log4net RollingFileAppender: Searched for existing files in [C:\Windows\Temp]
log4net RollingFileAppender: curSizeRollBackups starts at [0]
log4net RollingFileAppender: [200912] vs. [200912]
log4net FileAppender: Opening file for writing [C:\Windows\Temp\SERVICENAME.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, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] Loaded From [C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\SERVICENAME\33034378\c825df91\assembly\dl3\d74dc9d5\8aa6a7e8_fc7cca01\SERVICENAME.Core.DLL]
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net DefaultRepositorySelector: Assembly [SERVICENAME.Core, Version=1.0.0.0, Culture=neutral, 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)静态只读 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)]

但是,如果使用外部配置文件也是如此。
高温下,
夏兰

关于asp.net-mvc - 应用程序不记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1908755/

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