WPF中如何使用log4net
http://www.cnblogs.com/C-Sharp2/archive/2013/04/12/WPF-LOG4NET.html

Apache log4net Manual: Configuration
http://logging.apache.org/log4net/release/manual/configuration.html

两点说明:

1.WPF中可以不在App.xaml.cs中做Configure()处理,只需要在要打log的文件中,在其开始的头部(如构造函数),写入如下配置程序即可。

public Server()
{
  log4net.Config.XmlConfigurator.Configure(); // only config one time
  InitializeComponent();
}

2.WPF的log4net.config和其他的web.xmlxxx配置不同,具体如下文件:

App1.config 配置文件:

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<!--<appender-ref ref="SmtpAppender"/>-->
<appender-ref ref="LogFileAppender"/>
<!--<appender-ref ref="ColoredConsoleAppender"/>-->
</root> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs/cmm.log"/>
<param name="AppendToFile" value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="1MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%02thread] %-5level %logger: %message%newline"/>
</layout>
</appender> <appender name="ColoredConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
</layout>
</appender> <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="bobby.chopra@prcm.com"/>
<from value="TagFileUploader@prcm.com"/>
<subject value="TagFileUploader ERROR"/>
<smtpHost value="prc-mn-ex01"/>
<bufferSize value="512"/>
<lossy value="true"/>
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger: %message%newline"/>
</layout>
</appender>
</log4net> <!--
<startup>
<supportedRuntime version="v3.5" sku=".NETFramework,Version=v3.5"/>
</startup>
--> </configuration>

还存在的问题:

1.要同时将debug, info, warn, fatal, all都显示在一个文件里,怎么弄?

2.远程服务器log如何配置上传?

3.格式化输出,结合窗口,实施显示log日志,貌似codeproject上有类似的程序写好的。

Other ref:

WPF中使用log4net
http://www.cnblogs.com/Feng-Scorpio/archive/2013/05/21/3091021.html

log4Net配置详解
http://www.cnblogs.com/Dot-Boy/archive/2008/07/07/1237806.html

Log4net用法
http://www.cnblogs.com/hfliyi/archive/2012/05/20/2510783.html

WPF中log4net的用法的更多相关文章

  1. WPF中StringFormat的用法

    原文:WPF中StringFormat的用法 WPF中StringFormat的用法可以参照C#中string.Format的用法 1. C#中用法: 格式化货币(跟系统的环境有关,中文系统默认格式化 ...

  2. WPF中StringFormat的用法--显示特定位数的数字

    原文:WPF中StringFormat的用法--显示特定位数的数字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/art ...

  3. 整理:WPF中XmlDataProvider的用法总结

    原文:整理:WPF中XmlDataProvider的用法总结 一.目的:了解XmlDataProvider中绑定数据的方法 二.绑定方式主要有三种: 1.Xaml资源中内置: <!--XPath ...

  4. 整理:WPF中CommandBindings的用法

    原文:整理:WPF中CommandBindings的用法 目的:了解一下CommandBindings.InputBindings.ICommandSource中在WPF中扮演什么样的角色 Comma ...

  5. wpf中INotifyPropertyChanged的用法

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using Sy ...

  6. 在 WPF 中的线程

    线程处理使程序能够执行并发处理,以便它可以做多个操作一次.节省开发人员从线程处理困难的方式,设计了 WPF (窗口演示文稿基金会).这篇文章可以帮助理解线程在 WPF 中的正确用法. WPF 内部线程 ...

  7. WPF中StringFormat 格式化 的用法

    原文 WPF中StringFormat 格式化 的用法 网格用法 <my:DataGridTextColumn x:Name="PerformedDate" Header=& ...

  8. WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)

    原文:WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选) 前台代码 <DataGrid.Columns> <DataGridCheckB ...

  9. WPF中InkCanvas(墨水面板)用法

    原文:WPF中InkCanvas(墨水面板)用法   WPF中InkCanvas(墨水面板)用法                                                    ...

随机推荐

  1. 简单解析依赖注入(控制反转)在Spring中的应用

    IoC——Inversion of Control  控制反转DI——Dependency Injection   依赖注入 大家都知道,依赖注入是Spring中非常重要的一种设计模式.可能很多初学者 ...

  2. .NET4.5可以给所有线程设置默认的Culture了

    How to set CurrentCulture for all threads in a domain in .NET 4.5 Before .NET 4.5 if we wanted to se ...

  3. 【风马一族_git_github】git的工作流程

    git有三个区域(如图): 基本信息设置 1)设置用户名   git config --global user.name  "帐号名" 2)设置用户名邮箱  git config ...

  4. 【风马一族_Android】造作app的效果图

    一.墨刀 官网:https://modao.cc

  5. 例题6-5 Boxes in a line uVa12657

    这道题目的解决方案是双向链表,数据结构本身并不复杂,但对于四种情况的处理不够细致,主要体现在以下几点: 分类讨论不全面,没有考虑特殊情况(本身不需要操作,需要互换的两元素相邻) 没有考虑状态4改变后对 ...

  6. AngularJS(16)-路由

    AngularJS 路由 本章节我们将为大家介绍 AngularJS 路由. AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 通过 AngularJS 可以实现多视图的单页Web ...

  7. 将Unity3D游戏移植到Android平台上

    将Unity3D游戏移植到Android平台是一件很容易的事情,只需要在File->Build Settings中选择Android平台,然后点击Switch Platform并Build出ap ...

  8. Android Studio笔记(2)——快捷键

    在朋友推荐下,上个星期黄老师我用上了Google的新黑暗工具,基于Intellij idea的新Android开发集成开发环境 ——Android Studio,用下来感觉还算不错,但作为一个ADT ...

  9. .NET开发Windows Service程序 - Topshelf

    在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...

  10. 1095. Cars on Campus (30)

    Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...