log4net日志记录没有创建日志文件
我不确定这是否是发布此问题的正确论坛。但我只是希望这里有人可能在过去使用过log4net,所以希望得到一些帮助。log4net日志记录没有创建日志文件
我正在使用log4net来记录我的异常。配置设置是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net debug="false">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\sample.log" />
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date %logger.%method[line %line] - %message%newline"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
</configuration>
我开始加入此配置的web.config,但是我得到一个错误(VS工作室找不到一个架构log4net-“找不到架构信息元素log4net“)。所以我跟着这个链接(Log4Net "Could not find schema information" messages),并在一个单独的XML文件中配置我的设置并添加下面的代码行中我AssemblyInfo.cs
:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "xmlfile.xml", Watch = true)]
而在实际的代码,我把这个行:
public void CreateUser(String username, String password)
{
try
{
log.Info("Inside createuser");
//code for creating user
}
catch(exception e)
{
log.Info("something happened in create user", e);
}
}
问题是日志文件没有被创建。我看不到C:\ Logs中的任何内容。有人可以告诉我我在做什么错吗?
任何建议/输入将是非常有益的。
谢谢大家提前。
您的日志文件未被创建可能是因为ASPNET用户没有写入C:\Logs\
目录的权限。确保您将ASPNET的完整权限授予您的应用程序想要创建日志文件的任何地方。
我不能让设置在Asembly.cs没有在我的Global.asax中添加此来的Application_Start工作:
log4net.Config.XmlConfigurator.Configure();
所以您加载的配置文件,但你那么喜欢设置日志变量所以
private static readonly ILog log = LogManager.GetLogger(typeof(Program));
是的,我正在这样做 – 2010-04-27 16:30:51
除非你指定单独的配置文件log4net的完整路径预计文件将在返回的路径:
System.AppDomain.CurrentDomain.BaseDirectory
如果您有一个简单的控制台应用程序,这通常意味着包含程序集的目录,但在其他情况下这不一定是真实的。有很多方法可以解决这个问题(参见我的回答here)。
要开始它可能会更容易将log4net配置回到app/web.config并忽略架构警告。如果日志记录工作正常,那么您可以确定您没有权限问题,并且可以转到下一步以在外部文件中进行配置。
你在写什么类型的应用程序?也许我可以用我的答案更具体一点...
谢谢你的回应。我正在使用一项服务。现在这个问题已经解决了。显然,在配置服务本身时出现了一些问题。一旦这个问题得到解决,其他一切工作。 – 2010-04-29 14:57:29
这将需要配置在app/web.config – 2010-04-27 18:24:57
不一定。该方法有几个可以使用的重载。 – jvilalta 2010-04-27 19:25:08
我看到了,我有一个印象,你建议使用过载没有参数... – 2010-04-28 06:33:55