log4net在release模式下无法生成文件或不写入日志

在Debug模式一切正常,但是在release模式下log4net不工作,查了很多资料,终于解决。具体做如下检查修改。

1、检查log4net写入日志文件路径是否正确;

2、检查对应日志文件路径是否有权限;

3、检查程序log4net配置获取路径;

最常见的问题是第三步,一般都是在AssemblyInfo.cs文件中写入如下代码

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

但这个方式在Debug模式下没有问题,但是在release模式下就不好用了,需要在Global.asax文件中具体再次指定配置文件所在位置,例如:

protected void Application_Start(object sender, EventArgs e)
{
  log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~") + @"\log4net.config"));
}

重新编译发布就可以了。

时间: 2024-11-08 20:16:21

log4net在release模式下无法生成文件或不写入日志的相关文章

vs2010中release模式下调试程序

debug模式调试信息全,但是速度很慢,在数据量比较大的时候非常影响调试效率,release模式速度快,但是没有调试信息.所以在编译的时候很多编译器会提供一种折中的编译方式,在release下提供调试信息,可以结合debug和release的优点进行调试,如用cmake可以编译RelWithDebInfo模式,qtcreator提供了profile的模式.但是有的时候vs2010项目工程仅仅编译了debug和release两种模式,还想使用这种折中的方式,可以设置编译属性达到相似的效果.根据网上

【Visual Studio】VS2013的Release模式下进行调试(转)

原文转自 http://blog.csdn.net/haizimin/article/details/50262901 在有的情况下,我们可能不能直接利用Debug模式进行程序调试,那么如何在Release模式下进行程序调试呢? 一.将项目属性设置为Release,"生成"--->"配置管理器": 二.按Alt+F7,弹出属性页进行设置:

awstats CGI模式下动态生成页面缓慢的改进

本文可以看做是 http://kaifly.blog.51cto.com/3209616/1719248 这篇文章的下篇,在使用过程中发现awstats在cgi模式下动态生成分析报告慢的问题 (尤其是有些站点每天两个多G的日志,查看起来简直是在考验人的耐性),本文分享一种改造这个缺点的思路. 首先再来总结下awstats的处理过程以及查看分析结果的两种方式,来看官方版说明: Process logs: Building/updating statistics database,建立/更新统计数据

VS2005--设置Release模式下调试

今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug精确详细而已. 下面是设置在Release模式下调试的方法: 1.工程项目上右键 -> 属性 2.c++ -> 常规 -〉调试信息格式    选  程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi) 3.c++ -> 优化 -〉优化            选  禁止(/Od

[Qt] Release模式下产生调试信息

分两步,设置Qt配置文件,设置VS. https://blog.csdn.net/itas109/article/details/83652387 F:\Qt\Qt5.7.1\5.7\msvc2015_64\mkspecs\common\msvc-desktop.conf QMAKE_CFLAGS_RELEASE = -O2 -MD -Zi QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG https://blog.csdn.net/guo5036040

Django -> debug模式下的静态文件服务(/media/)

正式发布django项目的时候,如果存在静态文件(一般会统一放在名称为media或static的目录下),则需要建立url到文件系统的映射,例如,使用nginx的时候我们需要进行这样的配置. # Django media location /media { alias /home/lyndon/github/Mathematician/dijkstra/media; } location /static { alias /home/lyndon/github/Mathematician/dijk

在Debug模式下中断, 在Release模式下跳出当前函数的断言

在Debug模式下中断, 在Release模式下跳出当前函数的断言 #ifdef DEBUG #define __breakPoint_on_debug asm("int3") #else #define __breakPoint_on_debug #endif // 验证 #define UXY_ASSERT_RETURN_ON_RELEASE( __condition, __desc, ... ) \ metamacro_if_eq(0, metamacro_argcount(__

vc++ release模式下不存_DEBUG宏定义的解决方案

1 #ifndef 2 #define _DEBUG 0 3 #endif 4 5 #ifdef _DEBUG 6 #define trace(x) printf(x); 7 #else 8 #define trace(x) ; 9 #endif #ifndef #define _DEBUG 0 #endif #ifdef _DEBUG #define trace(x) printf(x); #else #define trace(x) ; #endif vc++ release模式下不存_DE

解决部分在Debug模式下程序没问题但是Release模式下出现问题的方法

编译策略介绍 关于优化级别:GCC_OPTIMIZATION_LEVEL 描述如下 None: Do not optimize.  [-O0]With this setting, the compiler's goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program