C# 单元测试 和日记类log4net的使用
单元测试
步骤
1.在解决方案中添加新建项目->测试->单元测试项目。
2.在该项目的引用中 添加需要的解决方案。注意:单元测试的目标框架要大于等于所引用的项目,不然会有黄色警告。
3.点击测试,窗口,测试资源管理器。
4.右键测试项目,生成。
5.在“资源管理器”窗口中多了未运行 测试,右键运行即可。
log4net
下载安装和最简单例子
到https://logging.apache.org/log4net/download_log4net.html下载log4net的dll包,
也可以到这里下载net4.5版的。
1.将log4net.dll文件添加到引用中,
2.在项目中添加log4net.config文件,
也可以从上面下载的文件包里找,一个简单的例子如下:
<log4net> <root> <level value="ALL" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <appender name="console" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level %logger - %message%newline" /> </layout> </appender> <appender name="file" type="log4net.Appender.RollingFileAppender"> <file value="myapp.log" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="5" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %level %logger - %message%newline" /> </layout> </appender> </log4net>
3.右键该文件,其中的属性:复制到输出目录为“始终复制”
4.在AssemblyInfo.cs文件添加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]
5,Console程序如下
class Program { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); static void Main(string[] args) { log.Info("Hello logging world!"); Console.WriteLine("Hit enter"); Console.ReadLine(); } }
缺少架构信息的问题
上面程序运行OK,但是会提示30多条信息,元素缺少架构信息Schema Information。
解决如下:1.
在log4net元素中添加如下
<log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 或者下载xsd文件。http://csharptest.net/downloads/schema/log4net.xsd
上面安装包也有
放到Visual Studio安装目录的Xml\Schema目录下
重启VS生效。
关于配置