在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置。这里做了一下总结。
方式一:
在运行时编程配置,代码如下:
class Program { private readonly static ILog log = InitILog(); //private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static void Main(string[] args) { var gp=log4net.LogManager.GetRepository().Configured; log.Debug("测试"); Console.ReadKey(); } public static ILog InitILog() { var file = AppDomain.CurrentDomain.BaseDirectory + @"\Config\log4net.config"; FileInfo info = new FileInfo(file); XmlConfigurator.Configure(info); return LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); } }
在方法InitLog中,通过获取配置文件的路径(配置文件路径=应用程序基本目录+程序集文件名+扩展名),使用FileInfo,Configure读取配置文件内容,启动log4net配置。
方式二:
assembly-level 配置属性,看代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config", Watch =true)]namespace SpringNetIOC { class Program { //private readonly static ILog log = InitILog(); private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static void Main(string[] args) { var gp=log4net.LogManager.GetRepository().Configured; log.Debug("测试"); Console.ReadKey(); } } }
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config", Watch =true)]也可以在Properties/AssemblyInfo.cs== 文件里添加,让程序找到log4net.config文件。
需要说明一下XmlConfigurator可配置的三个属性。
a。ConfigFile 配置文件名和路径,包括扩展名,文件相对于程序的根目录。注意,此属性不可和ConfigFileExtension 属性同时使用。
b。ConfigFileExtension;配置文件的后缀名,缺省默认时'config',此属性不可和ConfigFile属性公用。
关于ConfigFileExtension属性,特此记录一下,留待后面有了更深入的了解,再做回顾。
c。Watch(bool属性),如果为true,log4net框架在运行时,监视文件。如果配置文件被修改,则重新加载配置文件。
方式三:
app.config中的appSettings配置。看代码:
<configuration> <appSettings> <add key="log4net.Config" value="Config/log4net.config"/> <add key="log4net.Config.Watch" value="True"/> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
key为lognet.Config会覆盖assembly XmlConfigurator 配置 中 ConfigFile 指定的值,key为log4net.Config.Watch会覆盖assembly XmlConfigurator配置中Watch的指定值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。