看了网上很多例子,还是不行,花了一个下午的时间,终于成功了,看来自己解决,理解才是最深的,得到帮助的朋友鼓励一下啊,谢谢
以下有几个要注意的地方(这很有可能就是写不出日志的关键所在)
成功例子一:
vs2003建立的asp.net项目,log4net文件放在web.config文件中
1。添加log4net.dll的引用(可以用源码自己生成,无所谓了,下载dll都行)
2。web.config中添加(注意放对位置,在<configuration> 标签下)
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n - %m%n" />
</layout>
</appender>
</log4net>
3。WebForm1.aspx.cs中page_Load中
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("hello");
4。在应用程序代码中读取配置(方法有3种,错误的也有一中,注意了)
正确a: 该web项目中的AssemblyInfo.cs文件中添加(注意放对位置,放在命名空间外)
[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]
正确b: 或则Global.asax.cs中添加(位置也是在命名空间外)
[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]
正确c: 或则直接在要记录日志的页面文件WebForm1.aspx.cs里写
[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]
错误: 注意了:这里,网上很多都说第4步可以在Global.asax中Application_Start里用代码实现,
错误:***************************
即:log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("Web.Config"));
错误:***************************
但是我试过了,不行,不知道大家行不行,如果可以,麻烦请告诉我,感激不尽
5。 web项目的WebForm1.aspx.cs Page_Load中
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("hello");
成功例子二:
vs2005建立的asp.net项目,log4net文件放在web.config文件中
1。同vs2003一样
2。同vs2003一样
3。同vs2003一样
4。在应用程序代码中读取配置(这里vs2005没有AssemblyInfo.cs文件,所以相比vs2003少了一种方法,又Global.asax前台页面和后台页面在同一文件中,如果在Global.asax任何位置设置都出错,[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)] ,就只有1种方法了,正确C)
5。 web项目的WebForm1.aspx.cs Page_Load中
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("hello");
成功例子三:
vs2005建立的asp.net项目,log4net文件放在单独的配置文件中log4net.config
1。同上(添加引用)
2。在web项目的web.config中添加(位置还是在<configuration> 标签下)
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
</configSections>
3。建立单独的log4net.config配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
4。在应用程序代码中读取配置(道理同上,只有1种正确方法,但是这里Web.Config改成了log4net.config)
正确c: 或则直接在要记录日志的页面文件WebForm1.aspx.cs里写
[assembly:log4net.Config.DOMConfigurator( ConfigFile="log4net.config",Watch=true)]
这里想一下,一个项目肯定会在很多页面中都要记录日志,所以在每个页面文件里都要写这个及其不方便,也不可能,所以我们改用下一中方案,一般我们的项目也会这么设计
5。 web项目的WebForm1.aspx.cs Page_Load中
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("hello");
成功例子四:
vs2005建立的asp.net项目,log4net文件放在单独的文件中log4net.config,外加,把日志记录放在单独的一个公共项目中,因为往往项目会设计一个公共层,实现日志记录,缓存管理,加密,安全,等等
这也避免了,成功例子三的缺点,可以只在一个地方读取配置
我们这里添加一个公共项目framework项目
即 [assembly:log4net.Config.DOMConfigurator( ConfigFile="log4net.config",Watch=true)]
1。同上(添加引用)这时是在framework公共项目里添加就ok了,
2。在web项目的web.config中添加(位置还是在<configuration> 标签下)
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
</configSections>
3。建立单独的log4net.config配置文件(最好放在web项目中,方便以后修改)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
4。在应用程序代码中读取配置
[assembly:log4net.Config.DOMConfigurator( ConfigFile="log4net.config",Watch=true)]
方法只有一种,即:
在公共层的AssemblyInfo.cs里面添加
[assembly:log4net.Config.DOMConfigurator( ConfigFile="log4net.config",Watch=true)]
5.在公共层的单独的写日志类中添加
public static void test()
{
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("hello");
}
6。在web项目的webFom1.aspx.cs中Page_Load中
framework.Class1.test();
ok.搞定
具体log4net 的设置,我在这里就不用多说了,一为高人在网上翻译的log4net的文章非常详细,
这里可以看到
http://blog.csdn.net/xssh913913/archive/2007/09/04/1772207.aspx
分享到:
相关推荐
在很多情况下,为了便于管理和维护日志信息,我们可能会选择将Log4net的配置信息存储在一个单独的配置文件中,而不是直接内嵌在主应用程序的配置文件(如app.config或web.config)中。这样的配置方式被称为非独占...
在log4net中,可以通过配置不同的日志级别(如ERROR、FATAL)来捕获和记录错误信息。例如,当出现未捕获的异常时,可以设置为记录FATAL级别的日志: ```xml <appender name="FatalErrorAppender" type="log4...
使用者可以通过在console控制台通过log4web.config({tagFilter:"usersmodule"})配置值输出"usersmodule"tag的日志。默认值:"".log4web.config({tagFilter:"usersmodule"});post当发生异常是是否post到服务器。此处...
1. **添加配置文件**:将包含Log4Net配置信息的XML文件(如log4net.config)复制到你的项目目录下。 2. **引用类库**:在你的项目中引入封装好的Log4Net类库,通常是一个DLL文件。 3. **初始化配置**:在应用程序...
1. 配置文件:`log4net`的配置通常通过`app.config`或`web.config`文件完成。配置项包括日志级别、日志输出的appenders(如ConsoleAppender、FileAppender等)以及layout(日志格式)。 2. 注册日志组件:在应用...
- 分离配置:根据职责将配置文件划分为多个部分,如将数据库配置单独放在一个文件,便于管理和维护。 - 使用Profile:Maven支持多环境配置,通过Profile可以在开发、测试和生产环境中切换不同的配置。 - 注释和...
对于log4net的配置,通常会在App.config或Web.config中添加相应的节,指定日志的存储位置和格式。然后,通过在代码中注入log4net的日志接口,即可在过滤器或任何其他地方进行日志记录。 总结来说,使用.NET 4.0搭建...
yog-log 是 Node Log 统计方案,是yog框架的log统计模块,支持中间件或者单独使用等方式,兼容ODP日志格式与配置。关于ODP的日志方案调研可查看此文档. 统计日志类型包括: server日志 access_log: web访问日志,...
管理 Apusic Web 服务器的配置文件 apusic.conf 位于安装目录下的 config 目录中,该配置文件包含了 Web 服务器的配置段。通过修改配置段中的可配置属性,可以对 Web 服务器进行管理。 Web 服务器的属性包括: 1. ...
压缩包内的"Solution1"很可能包含了实现这个整合的全部代码和配置文件,包括项目的.csproj文件、app.config或web.config(用于log4net配置)、SQLite相关的数据库脚本,以及可能的测试代码或示例用例。 综上所述,...
例如,如果配置文件位于当前脚本的上一级目录中的log_config目录下,可以使用'../log_config/config_file.ini'这样的相对路径。 最后,如果在实际操作中遇到路径问题,Python的日志系统通常会抛出一个异常,提示...
WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。 本文后面的章节将从数据持久层->业务层->Web层的...
- `-nos`:禁用软链接检查,可以节省处理时间,但不建议在生产环境中使用,除非已确保 chroot 操作的安全性。 - `-v` / `-nov`:控制虚拟主机支持。如果 `-v` 在编译时默认开启,可以使用 `-nov` 禁用。 3. **...
9. **调试与日志记录**: 在项目中,开发者可能会使用Visual Studio的调试工具,或者集成如Log4Net、NLog等日志记录库,以便在问题排查时收集信息。 10. **前端技术**: ASP.NET项目往往结合HTML、CSS和JavaScript,...
在这个名为"config_files:我的配置文件"的压缩包中,我们推测它包含了用户个人定制的配置文件,特别是与Ruby编程语言相关的设置。Ruby是一种面向对象的脚本语言,广泛用于Web开发、自动化任务以及服务器配置等领域。...
在Win2000中,用户信息被放在根目录下的Settings文件夹中,每个用户对应单独的目录。 2. Application Data文件夹:存储应用程序的数据,如快捷方式和输入法文件。在Win2000中,每个用户在Documents and Settings...
数据库连接字符串是一个包含数据库服务器地址、数据库名、用户名和密码等信息的配置项,通常在C#应用程序的配置文件(如app.config或web.config)中找到。正确配置连接字符串后,就可以在C#代码中通过ADO.NET或其他...
6. **Web.config**:这是ASP.NET应用程序的核心配置文件,包含了应用程序的配置信息,如数据库连接字符串、安全性设置等。 7. **其他辅助文件**:如Log日志文件、错误处理页面等,这些都是构建一个完整论坛系统所...