log4net使用手册

log4net使用手册
log4net使用手册

log4net使用手册

C# 2009-10-28 11:59:05 阅读971 评论1 字号:大中小订阅

1. log4net简介

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。Java平台下,它还有一个姐妹组件——log4j。

log4net的下载地址:https://www.360docs.net/doc/2b3137522.html,/log4net/download.html

2. log4net的组成

log4net主要由五部分组成,分别为Appenders、Filters、Layouts、Loggers和Object Renders。

2.1 Appenders

Appenders用来定义日志的输出方式。它还可以通过配置Filters和Layout来实现日志的过滤和输出格式。

它的输出方式有:

1. AdoNetAppender 将日志记录到数据库中。可以采用SQL和存储过程两种方式。

2. AnsiColorTerminalAppender 将日志高亮输出到ANSI终端。

3. AspNetTraceAppender 能用https://www.360docs.net/doc/2b3137522.html,中Trace的方式查看记录的日志。

4. BufferingForwardingAppender 在输出到子Appenders之前先缓存日志事件。

5. ConsoleAppender 将日志输出到应用程序控制台。

6. EventLogAppender 将日志写到Windows Event Log。

7. FileAppender 将日志输出到文件。

8. ForwardingAppender 发送日志事件到子Appenders。

9. LocalSyslogAppender 将日志写到local syslog service (仅用于UNIX环境下)。

10. MemoryAppender 将日志存到内存缓冲区。

11. NetSendAppender 将日志输出到Windows Messenger service.这些日志信息将在用户终端的对

话框中显示。

12. OutputDebugStringAppender 将日志输出到Debuger,如果程序没有Debuger,就输出到系统

Debuger。如果系统Debuger也不可用,将忽略消息。

13. RemoteSyslogAppender 通过UDP网络协议将日志写到Remote syslog service。

14. RemotingAppender 通过.NET Remoting将日志写到远程接收端。

15. RollingFileAppender 将日志以回滚文件的形式写到文件中。

16. SmtpAppender 将日志写到邮件中。

17. SmtpPickupDirAppender 将消息以文件的方式放入一个目录中,像IIS SMTP agent这样的SMTP

代理就可以阅读或发送它们。

18. TelnetAppender 客户端通过Telnet来接受日志事件。

19. TraceAppender 将日志写到.NET trace 系统。

20. UdpAppender 将日志以无连接UDP数据报的形式送到远程宿主或用UdpClient的形式广播。

2.2 Filters

使用过滤器可以过滤掉Appender输出的内容。过滤器有以下几种:

1. DenyAllFilter 阻止所有的日志事件被记录

2. LevelMatchFilter 只有指定等级的日志事件才被记录

3. LevelRangeFilter 日志等级在指定范围内的事件才被记录

4. LoggerMatchFilter Logger名称匹配,才记录

5. PropertyFilter 消息匹配指定的属性值时才被记录

6. StringMathFilter 消息匹配指定的字符串才被记录

2.3 Layouts

Layout用于控制Appender的输出格式,可以使线性的也可以使XML。一个Appender只能有一个Layout。

最常用的Layout应该是用户自定义格式的PatternLayout,其次是SimpleLayout和ExceptionLayout。然后还有4个Layout,其中有两个是输出Xml的Layout,但是中文会有问题。

ExceptionLayout需要给Logger的方法传入Exception对象作为参数才起作用,否则就什么也不输出。输

出的时候会包含Message和Trace

最后说一下PatterLayout的格式化字符串:

关于调用本地信息(caller location information)的说明:

%type %file %line %method %location %class %C %F %L %l %M 都会调用本地信息。这样做会影响性能。本地信息使用System.Diagnostics.StackTrace得到。.Net 1.0 不支持System.Diagnostics.StackTrace

类。

本地信息在调试模式下可以正常获取,在非调试模式下可能获取不到,或只能获取一部分。(根据我的测

试,其实是需要有一个程序数据库(.pdb)文件。)

%property 这个东西中的属性好像是要用代码来设置(除了默认属性log4net:HostName)。

转义字符的修饰符:

2.4 Loggers

Logger是直接和应用程序交互的组件。Logger只是产生日志,然后由它引用的Appender记录到指定的媒

介,并由Layout控制输出格式。

Logger提供了多种方式来记录一个日志消息,也可以有多个Logger同时存在。每个实例化的Logger对象对被log4net作为命名实体(Named Entity)来维护。log4net使用继承体系,也就是说假如存在两个Logger,名字分别为a.b.c和a.b。那么a.b就是a.b.c的祖先。每个Logger都继承了它祖先的属性。

下面说一下日志的等级,它们由高到底分别为:

OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL

其中OFF表示停用所以日志记录,ALL表示所有日志都可以记录。

Logger实现的ILog接口,ILog定义了5个方法(Debug,Inof,Warn,Error,Fatal)分别对不同的日志等级记录日志。这5个方法还有5个重载。我们以Debug为例说明一下,其它的和它差不多。

ILog中对Debug方法的定义如下:

void Debug(object message);

void Debug(object message, Exception ex);

还有一个布尔属性:

bool IsDebugEnabled { get; }

如果使用Debug(object message, Exception ex),则无论Layout中是否定义了%exception,默认配置下日志都会输出Exception。包括Exception的Message和Trace。如果使用Debug(object message),则无论如何日志是不会输出Exception的,因为没有啊。

最后还要说一个LogManager类,它用来管理所应得Logger。它的GetLogger静态方法,可以获得配置

文件中相应的Logger:

log4net.ILog log = log4net.LogManager.GetLogger("logger-name");

2.5 Object Renders

我对Object Renders的理解是这样的。它将告诉logger如何把一个对象转化为一个字符串记录到日志里。

(你可能注意到了,ILog中定义的接口接收的参数是Object,而不是String。)

例如你想把Orange对象记录到日志中,但此时logger只会调用Orange默认的ToString方法而已。所以要定义一个OrangeRender类实现log4net.ObjectRender.IObjectRender接口,然后注册它。这时logger

就会知道如何把Orange记录到日志中了。

不过我没有测试过,具体怎么做还是看文档吧。

2.6 Repository

Repository主要用于日志对象组织结构的维护。如果你不想自己扩展log4Net的话,可以用不找它。但我

还是觉得应该提一下。

3. 在程序中使用log4net

在使用log4net前要先做一些配置的工作。配置工作可以在配置文件中完成也可以再程序中用代码完成。我们主要讲在配置文件中如何配置log4net,因为这样更方便灵活,而且还不用重新编译代码。至于如何使

用代码进行配置,请查看文档和后面参考中的连接。

3.1 定义配置文件

log4net的配置可以放在应用程序的默认配置文件中(app.config或web.config),也可以再你自己的配置

文件中。

如果用Visual Studio来编辑配置文件,它对log4net的标签是不会智能提示和自动补全的。当然也不是不

可能,看这里:

https://www.360docs.net/doc/2b3137522.html,/didasoft/archive/2007/07/23/log4net_xsd.html

这里要感谢Jerry同学,为我们提供的xsd schema。

废话少说,先看一个完整的配置文件的例子:

type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.2.10" />

type="log4net.Appender.FileAppender" >

value="%d [%t] %-5p %c [%x] - %m%n" />

type="log4net.Appender.ConsoleAppender" >

value="%d [%t] %-5p %c [%x] - %m%n" />

如果log4net的配置不是放在应用程序的配置文件里,而是在自己定义的文件里,节点里

节点是不需要的。

下面对其中的标签元素做一下说明。

3.1.1

所有的配置都要在元素里定义。

支持的属性:

debug 可选,取值是true或false,默认是false。设置为true,开启log4net的内部调试。

update 可选,取值是Merge(合并)或Overwrite(覆盖),默认值是Merge。设置为Overwrite,在提交配置的时候会重置已经配置过的库。

threshold 可选,取值是repository(库)中注册的level,默认值是ALL。

支持的子元素:

appender 0或多个

logger 0或多个

renderer 0或多个

root 最多一个

param 0或多个

3.1.2

实际上就是一个根logger,所有其它logger都默认继承它。root元素没有属性。

支持的子元素:

appender-ref 0个或多个,要引用的appender的名字。

level 最多一个。只有在这个级别或之上的事件才会被记录。

param 0个或多个,设置一些参数。

3.1.3

支持的属性:

name 必须的,logger的名称

additivity 可选,取值是true或false,默认值是true。设置为false时将阻止父logger 中的appender。

支持的子元素:

appender-ref 0个或多个,要引用的appender的名字。

level 最多一个。只有在这个级别或之上的事件才会被记录。

param 0个或多个,设置一些参数。

3.1.4

定义日志的输出方式,只能作为log4net 的子元素。name属性必须唯一,type属性必须指定。

支持的属性:

name 必须的,Appender对象的名称

type 必须的,Appender对象的输出类型

支持的子元素:

appender-ref 0个或多个,允许此appender引用其他appender,并不是所以appender 类型都支持。

filter 0个或多个,定义此app使用的过滤器。

layout 最多一个。定义appender使用的输出格式。

param 0个或多个,设置Appender类中对应的属性的值。

实际上所能包含的子元素远不止上面4个。

3.1.5

布局,只能作为的子元素。

支持的属性:

type 必须的,Layout的类型

支持的子元素:

param 0个或多个,设置一些参数。

3.1.6

过滤器,只能作为的子元素。

支持的属性:

type 必须的,Filter的类型

支持的子元素:

param 0个或多个,设置一些参数。

3.1.7

元素可以是如何元素的子元素。

支持的属性:

name 必须的,取值是父对象的参数名。

value 可选的,value和type中,必须有一个属性被指定。value是一个能被转化为参数值的字符串。

type 可选的,value和type中,必须有一个属性被指定。type是一个类型名,如果type不是在log4net程序集中定义的,就需要使用全名。

支持的子元素:

param 0个或多个,设置一些参数。

3.2 使用配置文件

3.2.1 关联配置文件

log4net默认关联的是应用程序的配置文件(AppName.exe.config),可以使用程序集自定义属性来进行设置。下面来介绍一下这个自定义属性:log4net.Config.XmlConifguratorAttribute。

XmlConfiguratorAttribute有3个属性:

?ConfigFile配置文件的名字,文件路径相对于应用程序目录

(AppDomain.CurrentDomain.BaseDirectory)。ConfigFile属性不能和ConfigFileExtension属性

一起使用。

?ConfigFileExtension配置文件的扩展名,文件路径相对于应用程序的目录。ConfigFileExtension

属性不能和ConfigFile属性一起使用。

?Watch如果将Watch属性设置为true,就会监视配置文件。当配置文件发生变化的时候,就会

重新加载。

如果ConfigFile和ConfigFileExtension都没有设置,则使用应用程序的配置文件(AppName.exe.config)。

举例:

1. [assembly: log4net.config.XmlConfigurator(Watch=true)]

2. //监视默认的配置文件,AppName.exe.config

3.

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

5. //监视配置文件,AppName.exe.log4net

6.

7. [assembly: log4net.config.XmlConfigurator(ConfigFile="log4net.config", watch=true)]

8. //使用配置文件log4net.config,不监视改变。

[assembly: log4net.config.XmlConfigurator(Watch=true)] //监视默认的配置文件,AppName.exe.config [assembly: log4net.config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)] //监视配置文件,AppName.exe.log4net [assembly: log4net.config.XmlConfigurator(ConfigFile="log4net.config")] //使

用配置文件log4net.config,不监视改变。

3.2.2 获取日志对象

log4net.ILog logger = log4net.LogManager.GetLogger("LoggerName");

LogManager还有其他多个方法,比如检查指定日志是否存在,返回所以日志对象等等。

特别的,如果日志名在配置文件中不存在,GetLogger方法会创建一个日志对象,它会继承它的父类的属性。例如"x.y.z"会继承"x.y"的属性,如果没有"x.y"就继承"x"的属性,如果连"x"也没有,会继承root的属性。

3.2.3 使用日志对象

获取日志对象后,使用它是很简单的,只要调用对应的Debug, Info等方法就可以了。不过有一件事要说

一下,我们以Debug为例。

if (log.isDebugEnabled) {log.Debug(...)}

文档上是这么说的“如果Debug功能不被使用,就不会有参数构造上的开销。但是,另一方面,如果logger 的Debug功能被起用,就会有俩倍的开销用于评估logger是否被起用:一次是判断debugEnabled,一次是判断debug是否被启用。但这不是极重的负担,因为评估logger的时间只有整个log语句执行时间的

1%。”

也就是说Debug方法会先判断Debug是否启用,再记录日志。使用isDebugEnabled,是否会带来性能提

升,是要看情况的。

3.3 一些配置的例子

配置文件的结构可以参照3.1节,这里只给出部分元素的使用实例。

3.3.1

1) 日志等级过滤器

其中,日志等级WARN,FATAL必须大写。

2) 字符串过滤器

上面的例子,只输出日志信息中包含字符串"Warn"或"Error"的才输出。最后的DenyAllFilter会阻止所有的

日志信息。

过滤器还有一个AcceptOnMatch属性,默认为true,表示匹配的时候提交日志事件。设置成false的时候,不同类型的过滤器是不一样的。StringMatchFilter会不提交日志事件,造成匹配的日志信息不被输出。

StringMatchFilter还有一个RegexToMatch属性,用来设置正则表达式。

3.3.2

1) AdoNetAppender将日志写入到Sql Server数据库

数据库表的Create语句:

CREATE TABLE [dbo].[Log] (

[Id] [int] IDENTITY (1, 1) NOT NULL,

[Date] [datetime] NOT NULL,

[Thread] [varchar] (255) NOT NULL,

[Level] [varchar] (50) NOT NULL,

[Logger] [varchar] (255) NOT NULL,

[Message] [varchar] (4000) NOT NULL,

[Exception] [varchar] (2000) NULL

)

配置文件:

我经过测试,使用元素,和元素都可以,还可以混合使用。对于等元素,log4net的文档上并没有说,但文档的例子中却在用。我个人感觉很多类属性都可以做标签用,并不限于文

档中说的那几个。

上面只是Sql Server的配置,其他数据库见文档:

https://www.360docs.net/doc/2b3137522.html,/log4net/release/config-examples.html

2) Console输出到控制台

target默认是输出到标准输出流的(Console.out),这里输出到标准错误输出流(Console.Error)。

3) ColoredConsoleAppender高亮输出到控制台

上例中,高于等于ERROR的日志都会用指定的前景色和背景色显示。也可以有多个

4) FileAppender输出到文件

上面是一个复杂的FileAppender,其实除了File属性,其他的属性都是可选的。这个属性值可以使用系统的环境变量,上面就用到了系统的临时文件夹${Tmp}。也可以像layout的Header属性那样使用转义字符

串,像这样:

注意文件名要符合操作系统的命名规范。

layout的Footer属性,因为没有将type设置为PatternString,所以不能使用转义字符串。所以要想换行就只有用xml实体了, 表示换行回车\n\r。layout的Header和Footer在很多Appender中是没有用的,比如ConsoleAppender和AdoAppender。

FileAppender的AppendToFile表示日志写入文件的方式是追加还是覆盖,默认是true,追加。Encoding 用来设置文件编码,不知道问什么我测试的时候,好像不起作用。lockingModel没搞懂,大概是多进程操

做同一个日志文件的时候用的吧。

5) RollingFileAppender输出到可滚动的文件

RollingFileAppender继承自FileAppender,FileAppender的属性,它都可以用。一个简单的例子:

上例中,如果log.txt的文件大小超过100KB,就会把log.txt做备份,备份文件名为log.txt.1,log.txt.2……。

但是备份文件的最大数是10个。

说明:

a. 本文中使用的log4net版本是1.2.10。

参考:

https://www.360docs.net/doc/2b3137522.html,/log4net/

https://www.360docs.net/doc/2b3137522.html,/log4j/docs/manual.html

https://www.360docs.net/doc/2b3137522.html,/liwei6797/archive/2007/04/27/729679.html

https://www.360docs.net/doc/2b3137522.html,/dragon/archive/2005/03/24/124254.aspx

https://www.360docs.net/doc/2b3137522.html,/archive/2006/01/09/314053.html

https://www.360docs.net/doc/2b3137522.html,/didasoft/archive/2007/07/23/log4net_xsd.html

log4net配置及使用

第一步:在项目引用log4net.dll文件 第二步: 在Web.config文件中加入一句代码,位置如下:

第三步: 建立一个单独的配置文件,文件名为:log4net.config (这个配置文件会在App_Data目录下按日期每天产生一个日志文件,如:Logs_20090703.txt) log4net.config配置文件内容:

.Net中日志管理

.Net中日志管理 Start:2011.04.25 Updated:2011.04.28 王凡(wangfan) wf141732@https://www.360docs.net/doc/2b3137522.html, woshiwangfan@https://www.360docs.net/doc/2b3137522.html, https://www.360docs.net/doc/2b3137522.html,/lingmengfei 1.简介 1.1.简介 记录.net 1.2.环境信息 VS:2010 SQLSERVER:2008SP2 1.3.相关文档 《https://www.360docs.net/doc/2b3137522.html,初探》 2.日志 在大型的项目中日志是非常重要的,在这里我们引入java下非常有名的log4j的.net版 log4net.

2.1.准备 Log4net是apache的开源项目,到https://www.360docs.net/doc/2b3137522.html,/log4net/找到最新的源文件下载 下载完成后使用vs打开编译,生成log4net.dll 2.2.引用用log4net 在建立的项目中添加引用 找到生成的dll位置 2.3.配置log4net 配置信息可以放在如下几种形式文件的一种中。 在程序的配置文件里,如AssemblyName.config 或web.config。

在你自己的文件里。文件名可以是任何你想要的名字,如AppName.exe.xyz等。 log4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory 属性定义的目录路径下查找配置文件。框架在配置文件里要查找的唯一标识是标签。一个完整的配置文件的例子如下:

.Net 明日科技ERP程序使用说明

企业ERP管理系统使用说明书配置源程序 附加数据库SQL Server 2005 (1)将Database文件夹中的两个文件拷贝到SQL Server 2005安装路径下的MSSQL.1\MSSQL\Data文件夹中。 (2)打开SQL Server 2005,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框中单击“”按钮,选择所要附加数据库的.mdf文件,单击“确定”按钮,即可完成数据库的附加操作。 使用说明 系统介绍 本系统属于中小型企业ERP管理系统,可以对中小型生产企业或商业企业进行有效管理。通过本系统可以达到以下目标: ●灵活的录入数据,使信息传递方便、快捷; ●系统采用人机交互方式,界面美观友好,操作灵活方便,业务流程控制严谨,数据 存储安全可靠; ●严格按操作功能来分配权限; ●严格控制业务流程,主动向用户提示业务流程信息; ●各种单据的最终确认,需要具有审核权限的人员进行审核操作; ●客户分析采用图形化显示,直观明了; ●实现各种综合查询和模糊查询; ●实现企业客户及其内部资源的信息集成化管理; ●对用户输入的数据,进行严格的数据检验,尽可能避免人为错误; ●系统最大限度地实现了易维护性和易操作性。 操作注意事项 (1)本系统管理员用户名为:mr,密码为:mrsoft。

(2)实例执行文件位置:SMALLERP\bin\Debug\ SMALLERP.exe。 操作流程 (1)用户输入用户名及密码进入企业ERP管理系统界面,如图1.1所示。 图1.1 企业ERP管理系统界面 (2)单击“采购管理”/“采购订单”菜单项,录入企业购买原材料的订单信息,主要包括存货名称、采购单价、采购数量和审核状态等信息,如图1.2所示。

Log4记录日志使用说明

一、 想要让Log4net日志(以下称日志)按每月自动归类为一个文件夹,为此,学习和修改了log4net.config文件。查了资料,重点是以下这些参数: 众说纷纭,许多说得让人看后似懂非懂,经过说起来都是泪的实验,终于有了明确的结论,整理发表出来避免后人走弯路。 1.StaticLogFileName的值如果为true,则当前日志文件(相对于历史日志文件而言)的文件名只取File参数。如果为false,则文件名取File+DatePattern。 2.File的值是静态的如果写“yyyy-MM”就是“yyyy-MM”而不会转成当前的年份和月份,而且斜扛“/”与反斜扛“\”效果相同,连续2扛也与1扛相同。 3.DatePattern的值是动态的“yyyy”代表4位年份,详细参考网上的众多资料(这个不难得到)。如果想表达静态的字符(如“y”)有2种办法,1是使用转义字符“\”,即“\y”,2是使用一对单引号限定,即“'y'”。如上面的value="_yyyy-MM-dd.'config'",就是因为fig有特殊含义,所以把“config”用单引号包含起来了。 4.修改了(网站上的)log4net.config文件,使它生效的方法是重启网站(我没有试着去操作应用程序池)。实测重启网站有约10%没有使它生效,但如果是先停止网站再启动,则100%生效。 以上4点最关键是第1点,也是众多资料所没有说清楚的(本人的汉字理解能力有问题?)。最终符合我要求的配置如下: 以上是基于我自己做的实验而得出的结论,难免不够系统和全面,限于本人水平,难免有错误。如有发现错漏,欢迎指正。 二、 log4net配置文件设置 2011-11-16 13:15:41| 分类:Notes|举报|字号订阅

log4net使用手册

log4net使用手册 1 简介 1.1Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。 经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。 Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。 1.2Log4net的安装: 用户可以从https://www.360docs.net/doc/2b3137522.html,/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。 2 Log4net的结构 log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appender(附着器)以及Layout(布局). 2.1Logger 2.1.1 Logger接口 Logger是应用程序需要交互的主要组件,它用来产生日志消息。产生的日志消息并不直接显示,还要预先经过Layout的格式化处理后才会输出。 Logger提供了多种方式来记录一个日志消息,你可以在你的应用程序里创建多个Logger,每个实例化的Logger对象都被log4net框架作为命名实体(named entity)来维护。这意味着为了重用Logger对象,你不必将它在不同的类或对象间传递,只需要用它的名字为参数调用就可以了。log4net框架使用继承体系,继承体系类似于.NET中的名字空间。也就是说,如果有两个logger,分别被定义为a.b.c和a.b,那么我们说a.b是a.b.c的祖先。每一个logger 都继承了祖先的属性 Log4net框架定义了一个ILog接口,所有的logger类都必须实现这个接口。如果你想实现一个自定义的logger,你必须首先实现这个接口。你可以参考在/extension目录下的几个例

IIS 下.net环境的安装与配置(V1.0)

IIS 6.0下.net环境的安装与配置(V1.0) 一、.NET Framework程序安装 1、官方下载: Microsoft Microsoft .NET Framework 1.1 版简体中文语言包,点击下载; Microsoft .NET Framework 2.0 版简体中文语言包 (x86),点击下载; 2、程序安装: ①NET Framework 1.1安装 .NET Framework 1.1可以有两种安装方法:一是使用官方安装程序直接安装;二是根据server2003自带.net 1.1组件安装的形式安装;我们先按第二种方法来安装.net 1.1;第一种方法参考后面的.NET Framework 2.0安装,如下: A、从“开始”菜单中,单击“管理您的服务器”;在“管理您的服务器”窗口中,单击“添加或删除角色”,如图: B、在“配置您的服务器向导”中,单击“下一步”,并在“服务器角色”对话框中,选中“应用程序服务器(IIS、https://www.360docs.net/doc/2b3137522.html,)”,然后单击“下一步”,如图:

C、在“应用程序服务器选项”对话框中,选中“启用https://www.360docs.net/doc/2b3137522.html,”复选框,单击“下一步”,然后再单击“下一步”,如图:

D、如有必要,请将 Windows Server 2003 安装 CD 插入 CD-ROM 驱动器(或浏览到Server 2003安装文件目录i386),找到相应资源后,然后单击“下一步”,如图: 数据复制完成后,安装完成;重新启动IIS后配置生效。 ②NET Framework 2.0安装 双击下载的dotnetfx.exe安装程序,开始安装,如下: A、接受“最终用户许可协议”,点“安装”:

Log4net使用说明

Log4net使用说明: 简单说明下log4net的使用方法, 0. 确认在/bin下有log4net.dll和log4net.xml文件 1. 在Global.asax.cs的Application_Start 方法中添加 System.IO.FileInfo info = new System.IO.FileInfo(Server.MapPath(HttpContext.Current.Request.ApplicationP ath) + System.Configuration.ConfigurationSettings.AppSettings["LogConfigPath"]); DOMConfigurator.Configure(info); 在ChinaGCG的web.config结点中添加 其中的value为你的log4net参数配置文件 这样我们的系统就知道从哪里去找到这个配置文件了 2 . 在根目录(ChinaGCG)下建立log4net.properties文件 以下是example

.NET开发环境安装配置说明

.NET开发环境安装配置说 明

1 目的 本文档用于指导.NET 方向实训员工安装开发环境,包括visual studio 2008、MSDN 、SQLSERVER 2005、Visual.SourceSafe 2005的安装及注意点。 2 安装说明 2.1 安装准备 系统要求:Windows Server 2003/ Windows XP ,IIS6.0; 安装文件:Visual Studio 2008、MSDN 、SQLSERVER 2005、Visual.SourceSafe 2005。 2.2 安装软件存放位置 序号 名称 安装目录 1 Visual Studio 2008 \\172.1.41.15\soft\VS2008 2 Sqlserver2005 \\172.1.41.15\soft\SQL2005 3 Visual.SourceSafe 2005 \\172.1.41.15\soft\vss2005 本文档所述软件存放于局域网上名为“\\172.1.41.15”的机器上,用户可以在浏览器的地址上或者开始->运行里面输入下述命令,按回车键后进入该机器: 在提示输入用户名与密码时,分别输入a 、ambow 。 2.3 Visual Studio 2008及MSDN 安装说明 注意:安装这两个程序的安装盘符要保证有7G 的空间。 (1)进入Visual Studio 2008的安装目录,双击setup.exe ,进入安装程序,点击安装Visual Studio 2008,如下图:

(2)点击下一步,如下图: (3)选中我已阅读并接受许可条款并点击下一步,如下图:

用C#.NET实现完整文档打印功能

用C#实现完整文档打印功能 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .net Framework的打 印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下。 打印操作通常包括以下四个功能 1 打印设置设置打印机的一些参数比如更改打印机驱动程序等 2 页面设置设置页面大小纸张类型等 3 打印预览类似于word中的打印预览 4 打印 下面我把我编写的记事本(全部源代码可以在https://www.360docs.net/doc/2b3137522.html,中下载)中用到的打印功能的代码进行解释希望能给大家一些帮助 实现打印功能的核心是PrintDocument类这个类属于System.Drawing.Printing 名字空间这个类封装了当前的打印设置页面设置以及所 有的与打印有关的事件和方法 这个类包括以下几个属性事件和方法 1、PrinterSettings 属性 存放打印机的设置信息这个属性不需要程序员设置因为它是由打印对话框获取的 2、PrintCountroller 属性 控制打印过程 3、DefaultPageSettings 属性 存放页面设置信息打印纸大小方向等也不需要程序员设置因为它是由页面设置对话框获取的 4、DocumentName 属性 指定文档名称,出现在打印机状态窗口中 1。BeginPrint事件 在打印之前发出 2. PrintPage事件 每打印一页是发出,事件接受一个PrintPageEventArgs参数该参数封装了打印相关的信息 PrintPageEventArgs参数有很多重要的属性 1 Cancel 取消打印 2 Graphics 页面的绘图对象 3 HasMorePages 是否还有要打印的页面 Print 方法该方法没有参数调用它将按照当前设置开始打印 若实现打印功能首先构造PrintDocument对象添加打印事件 PrintDocument printDocument; private void InitializeComponent() {

.Net反编译技术详解及4个反编译工具介绍

.Net反编译技术详解及4个反编译工具介绍 Net反编译技术详解及4个反编译工具介绍什么是反编译?高级语言源程序经过编译变成可执行文件,反编译就是逆过程。即通过技术手段将可执行文件还原成源代码。此文讲解如何将.net(c#、F#、https://www.360docs.net/doc/2b3137522.html,)编写的可执行文件还原成c#代码。了解.net(c#)的编译过程C#源代码经过编译器的编译之后,变成MSIL微软中间语言。其实也就是一个可执行文件,也可以叫做程序集(.exe文件)。注意:不是所有的exe文件都叫程序集,这个文件是由微软中间语言组成的才叫程序集。当程序被执行时,微软中间语言(程序集)将被CLR翻译成平台对应的CPU指令,然后交给CPU执行。注意:CPU的指令并不是相同的,不同平台的CPU指令可能有比较大的区别。如:Intel和AMD在开机或者关机的时候Intel可能为111 而AMD可能为000。不同型号的CPU 指令也可能有区别。如:四核和双核。C#代码的编译过程如下图所示:c#反编译过程:反编译过程即将.net 程序集转换成IL中间语言,然后再将IL转为c#代码。还原率接近90%。反编译工具介绍:说到.net 反编译工具,很多人第一反应都是Reflector这款神器。但是我呢认为这是个垃圾软件,为什么呢,因为他收费啊,而且没有什么特别出众的功能,所以本文不加以介绍。本文主要介绍ILSpy、dnSpy、JetBrains和

Telerik JustDecompile以及可直接修改程序集的reflexil插件和脱壳反混淆的de4Dot插件。文本的示例程序:特意用c#写了一个checkMe程序,用来展示说明以下各个工具的功能。程序很简单,一个登陆框,输入对的密码即可显示主窗体,显示一个“今日头条很伟大”的字样.checkMe1、ILSpy:ILSpy是一个开源免费的.Net反编译软件,基于MIT 许可证发布。作者在工作中使用最频繁的就是它。,ILSpy 是为了完全替代收费的Reflector而生,它是由iCSharpCode 团队出品,这个团队开发了著名的SharpDevelop 。ILSpy 的使用和上面的Reflector完全类似,可以直接把dll、exe 拖放到左侧,然后在右侧查看反编译以后的代码。ilSpy另外ILSpy支持插件,比如使用Debugger插件可以进行调试,使用reflexil插件可以直接修改程序集。支持类、函数、变量、字符串等多种搜索。以上的示例程序,使用ILSpy查找登陆密码如下:ilSpy2、dnSpydnSpy是近几年的新秀,功能远比ILSpy强大,甩Reflector几条街。被汉化、破解、逆向方面的人才奉为神器。软件自带调试和修改程序集的功能dnSpydnsyp功能菜单dnspy可直接调试修改程序集。可添加修改类、方法、变量等。可操作合并程序集、禁用内存映射。可在16进制编辑器中直接定位方法体、字段。也可以16进制编辑器中直接修改方法和字段。更多强大的功能亲们自己下载dnspy摸索体验一下下面我们使用dnspy来调试一

NetIQ Chariot快速使用手册

NetIQ Chariot快速使用手册 目录 1 Chariot工作原理 (2) 2 安装 (2) 2.1 Console (2) 2.2 Endpoint (2) 3 经验配置 (3) 4 开始测试 (4) 4.1 使用步骤 (4) 4.2 脚本分析 (6) 4.3 生成自己的测试脚本 (7) 4.4 测试结果分析 (9) 4.4.1 运行过程 (9) 4.4.2 发送速率 (9) 4.4.3 时延 (10) 4.4.4 丢包 (10) 4.4.5 抖动 (11) 5 有效带宽测试 (11) 6 组播测试 (11) 6.1 关于组播 (11) 6.2 组网 (12) 6.3 测试步骤 (12) 6.4 Chariot组播测试的不足 (13) 6.4.1 测试前的设置 (13) 6.4.2 可能缺陷之一 (14) 6.4.3 可能缺陷之二 (15) 6.4.4 结论 (15) 7 防火墙 (15)

NetIQ Chariot快速使用手册 1Chariot工作原理 控制端Console为该产品的核心部分,控制界面(也可采用命令行方式)、测试设计界面、脚本选择及编辑、结果显示、报告生成以及API 接口提供等都由控制端提供。 Endpoint 根据实际测试的需要,安装在单个或者多个终端处,负责从控制端接收指令、完成测试并将测试数据上报到控制端。 测试范围:可以点到点、点到多点、多点到多点、组播,连接可多达一万对。 2安装 Chariot Console是一个32位的Windows应用,可以运行在以下四种操作系统平台:Windows Me 、Windows NT 、Windows 2000 、Windows XP (32-bit only)。 注意:安装软件的机器不能配置太低,否则测试软件可能无法正常运行。 2.1 Console 在一台计算机上安装Console,该计算机上可同时安装Endpoint。 运行Chariot_inst服务器安装程序,选择安装默认路径,直到安装结束。 2.2 Endpoint 必须在被测试网络的远端安装Endpoint。本地可以与Console安装在同一台计算机上。 有两种Endpoint可供选择:GSENDW32.EXE,需要安装,安装后永远保存,开机服务自动运行;另一个是endpoint.exe,双击运行,下次开机需要重新运行。

动软.Net代码生成器使用文档

自动生成C#代码 功能介绍 一键自动生成各种C#代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。有了它开发项目的效率简直轻松多了。 ?可以生成3种不同架构的代码:简单三层结构;基于工厂模式三层架构;自定义结构模版 ?可以生成页面Html代码和页面.cs处理代码 ?支持父子表的(事务)的代码生成 ?可以自定义选择生成的字段 ?可以自由设定命名空间和实体类名 ?自动生成方法属性注释 ?支持对表和视图的代码生成 ?支持对多种类型数据库生成代码:如SQLServer2000/2005,Oracle,OleDb等 ?可以生成3种不同类型数据层: 基于SQL字符串方式,基于Parameter方式和基于存储过程方式的数据层 数据库服务器管理 类似SQLServer2005的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。 ?可支持SQL Server2000/2005、Oracle、OleDb三种类型的数据库同时管理。 ?可以轻松浏览库,表,视图,存储过程的结构信息. ?可以查看存储过程和视图的定义脚本。 ?表的重命名,删除操作。

查询分析器 实现类似SQLServer2005的查询分析器的功能,方便编写代码时想进行数查询。 ?实现执行选中部分SQL语句。 ?实现关键字高亮。 ?支持F5快捷键执行语句。 ?实现打开现有脚本,保存当前脚本功能。 ?实现错误检测提示功能。 自动生成存储过程和SQL脚本 ?可以自动生成表的创建脚本。 ?可以自动生成表数据的插入脚本。 ?可以自动生成增、删、改、查等操作的存储过程脚本。 ?可以根据选定的数据库和表,进行多选批量生成。 ?支持在当前生成和导出脚本文件功能。 自动生成数据库文档 可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。 Web项目文件发布

Log4Net之记录日志到文档详解

前面一章、我们简单的介绍了log4net的功能,以及一个记录日志到文档的案例。 本节、将带领大家详细了解上节案例中各行代码的意思。 首先是配置log4net.config 节点。这是config文件必须切只能包含一个的,用来包含所有的配置内容。 节点。这是用来为配置文件添加自定义节点的。它的内容

代表着想这个配置文件添加一个用户自定义节点,节点的名称为log4net类型。IgnoreSectionHandler表示创建的节点类型。这个类型的简单介绍为:创建新的配置处理程序并将指定的配置对象添加到节处理程序集合中 节点。这个节点是根日志节点,其内容为根日志的配置,有level级别值和Appender的列表。所有的子用户节点()都是其后代,上节代码中没有使用节点。它的内容代表着根节点日志记录的日志等级是记录所有等级的日志,标签定义日志对象使用的Appender对象。声明了在其他地方定义的Appender对象的一个引用。 日志的等级分为以下几种:ERROR、WARN、INFO、DEBUG,ALL ERROR 为严重错误主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息 则声明了你的log4net日志的保存方法等其他信息。上章的代码中日志的保存方法为“写日志到文件”所有appender的type则是RollingFileAppender。 则是设置appender的属性,如保存的文件名,记录方式等, 输出日志的格式化器,用于向用户显示最后经过格式化的输出信息。输出信息可以以多种格式显示 格式名含义 %c输出日志信息所属的类的全名 %d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-ddHH:mm:ss},输出类似:2002-10-18-22:10:28 %f输出日志信息所属的类的类名 %l输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行 %m输出代码中指定的信息,如log(message)中的message %n输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” %p输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推 %r输出自应用启动到输出该日志信息所耗费的毫秒数 %t输出产生该日志事件的线程名 其次是引入log4net.config文件到你的项目中去 想将你的项目引入到log4net,你的将你刚刚配置的log4net.config文件引入到你的项目中来: 1、在项目中找到AssemblyInfo.cs文件,向文件的最后一行加入代码:

Log4net入门介绍

Log4net入门介绍 1 简介 1.1Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。 经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。 Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。 1.2Log4net的安装: 用户可以从https://www.360docs.net/doc/2b3137522.html,/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。 2 Log4net的结构 log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appen der(附着器)以及 Layout(布局)。 2.1Logger 2.1.1 Logger接口 Logger是应用程序需要交互的主要组件,它用来产生日志消息。产生的日志消息并不直接显示,还要预先经过Layout的格式化处理后才会输出。 Logger提供了多种方式来记录一个日志消息,你可以在你的应用程序里创建多个Logger,每个实例化的Logger对象都被log4net框架作为命名实体(named entity)来维护。这意味着为了重用Logger对象,你不必将它在不同的类或对象间传递,只需要用它的名字为参数调用就可以了。log4net框架使用继承体系,继承体系类似于.NET中的名字空间。也就是说,如果有两个logger,分别被定义为a.b.c和a.b,那么我们说a.b是a. b.c的祖先。每一个logger都继承了祖先的属性。 Log4net框架定义了一个ILog接口,所有的logger类都必须实现这个接口。如果你想实现一个自定义的logger,你必须首先实现这个接口。你可以参考在/extension目录下的几个例子。

Microsoft .NET Framework 4安装说明

https://www.360docs.net/doc/2b3137522.html, Framework4自述文件 有关最新版本的自述文件,请单击此处。 1.系统要求 1.1.支持的体系结构 1.2.支持的操作系统 1.3.硬件要求 1.4.其他系统要求 2.已知问题 2.1.安装 2.1.1.Full Framework(安装) 2.1.2.Client Profile(安装) 2.2.卸载 2.2.1.Full Framework(卸载) 2.2.2.Client Profile(卸载) 2.3.产品问题 2.3.1.一般问题 https://www.360docs.net/doc/2b3137522.html, 2.3.3.Winforms 2.3.4.并行编程 2.3.5.Managed Extensibility Framework 2.3.6.Entity Framework 2.3.7.LINQ to SQL 2.3.8.Windows Communication Foundation(WCF) 2.3.9.Windows Presentation Foundation(WPF) 2.3.10.Windows Workflow Foundation(WF) 2.3.11.Client Profile(产品) 3.相关链接 1.系统要求 1.1支持的体系结构 x86 x64 ia64(有些功能在诸如Windows Presentation Foundation(WPF)之类的ia64上不受支持) 1.2支持的操作系统 Windows XP SP3 Windows Server2003SP2 Windows Vista SP1 Windows7 Windows Server2008(在Server Core角色上不受支持) Windows Server2008R2(在Server Core角色上不受支持) 1.3硬件要求

log4net日志信息保存到Oracle数据库

使用说明一:下载log4net.dll 将log4net.dll拷贝到bin下面,并添加对它的引用二:在数据库里面创建表Log create table LOG ( LOGDA TE V ARCHAR2(20), LOG_LEVEL V ARCHAR2(255), LOGGER V ARCHAR2(255), MESSAGE V ARCHAR2(2000), EXCEPTION V ARCHAR2(2000) ) 三:配置Web.config 注意2个地方: 1:在configSections加入相关代码 2:log4net里面对数据库连接进行配置

四:程序调用 1:创建一个辅助类:SystemLog.cs 2: 创建Global.asax,里面设置相关代码 void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 PDAManage.SystemLog.SetConfig(); } 3:在页面中调用:

注意: 1:Web.config配置问题 应删除或屏蔽以下代码,否则会产生2条日志记录!!!

2:读取WebConfg问题: 网上都建议在globe.ascx里面: void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 PDAManage.SystemLog.SetConfig(); } 但发现一个问题:第二次访问某页面的时候,不能成功保存到数据库1:所有页面继承basePage 2:在BasePage里面加上:

一步一步教你玩转.NET_Framework的配置文件app.config

一步一步教你玩转.NET Framework的配置文件app.config 在一般的项目中,为了使你的代码更加灵活,更方便调整,减少不必要的hard code,我们都在config中添加许多配置信息,一般可以选择.NET自带的配置文件形式app.config或者web 项目中的web.config来完成配置工作。 .NET中提供了几个和配置有关的类来支持用完轻松的完成配置文件的读写设置: System.Configuration.ConfigurationSectionGroup 一般和你项目中使用的Assambly保持1:1的对应关系,这样划分使得结构相对清晰,权责明确。当然你可以不使用它,这样一旦你的Assambly在别的地方要被重用时,找出相应的config信息就变得很困难。 System.Configuration.ConfigurationSection 维护一个相对独立的配置节,使用时需现在节点下声明。我们熟悉的以及 就是.NET为我们预留的一个Section。System.Configuration.ConfigurationElementCollection & System.Configuration.ConfigurationElement 就是Section下具体的配置信息和配置信息的集合了。 下面来看看怎么使用这些类玩转app.config 1.初级玩法 最初级的用法当然是使用,我们在app.config 中添加 访问它 public class AppSettingConfig { public string resultValue; public AppSettingConfig() { this.resultValue = ConfigurationManager.AppSettings["MyConfigString"].ToString(); } } [TestMethod] public void TestAppSettingConfigNode() { AppSettingConfig appCon = new AppSettingConfig(); Assert.AreEqual("Test Config Data", appCon.resultValue); }

.Net明日知道网站程序使用说明

仿百度知道之明日知道使用说明书 配置源程序 附加数据库SQL Server 2005 (1)将TM\09\App_Data文件夹中的扩展名为db_WL_Data.MDF和db_WL_Log.LDF的两个文件拷贝到SQL Server安装路径下的Data文件夹中。 (2)打开SQL Server 2005,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加…”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框中单击【】按钮,选择所要附加数据库的db_WL_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。 配置IIS (1)依次选择“开始”/“设置”/“控制面板”/“管理工具”/“Internet信息服务(IIS)管理器”选项,弹出“Internet信息服务(IIS)管理器”窗口,如图1.1所示。 图1.1 “Internet信息服务(IIS)管理器”窗口 (2)选中“默认网站”节点,单击右键,选择“属性”,如图1.2所示。

图1.2 选择“属性”菜单项 (3)弹出“默认网站属性”对话框,如图1.3所示,单击“网站”选项卡,在“IP地址”下拉列表中选择本机IP地址。 图1.3 默认网站属性 (4)单击“主目录”选项卡,如图1.4所示。单击“浏览”按钮,弹出“浏览文件夹”对话框,选择您的网站路径,单击【确定】按钮。

图1.4 “主目录”选项页 (5)选中首页文件,单击鼠标右键,在弹出的菜单中选择“浏览”菜单项 使用说明 系统介绍 通过深入广泛的分析、实际调研,根据明日知道网站要求主要实现一下目标: ●分为前台操作和后台管理两个网站; ●前台网站的主要功能是分类管理各个编程语言的相关知识; ●提问者可以发布某一编程语言的问题,回复者给出答案; ●提问者在众多答案中评选最佳答案,被评为最佳答案的回复者可以获得规定的积分奖励; ●如果没有正确的答案,提问者可以关闭该问题; ●用户可以在前台网站的搜索引擎中查找待解决或自已感兴趣的各个编程语言问题及最佳 答案; ●后台管理网站的主要功能是对用户提出的问题进行管理及用户相关信息(如积分、获得 最佳答案数等)的查询。 操作注意事项 (1)本系统管理员用户名为:mr,密码为:mrsoft。 操作流程 在明日知道首页中使用网站内提供的搜索引擎查找主题或内容中包含指定关键字的问题列表,其实际运行效果如图1.5所示。

相关文档
最新文档