Log4Net使用实例(VS2008 App)

2023-11-17

准备工作:

首先要去http://logging.apache.org/log4net/下载log4net的源代码,将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll,也可以直接在网上搜索下载别人生成好的“log4net.dll”;本文提供的附件中已经包含此库。

第一步: 新建一个C# Form项目,名字为Log,并引用log4net.dll。

第二步:准备配置文件。配置文件可以写在任何你想写的xml格式的文件里,比如程序的配置文件App.config或者自定义的文件XXX.XML,本例中使用的是log4net.xml。内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

 
<configSections>
   
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.2" />
 
</configSections>

 
<log4net>
   
<logger name="MyLog">
     
<level value="ALL" />
     
<appender-ref ref="ConsoleAppender" />
     
<appender-ref ref="LogFileAppender" />
   
</logger>

   
<appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
     
<layout type="log4net.Layout.PatternLayout">
       
<param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n"/>
     
</layout>
   
</appender>

   
<appender name="LogFileAppender"  type="log4net.Appender.FileAppender" >
     
<param name="File" value="MyLog.Log" />
     
<param name="AppendToFile" value="true" />
     
<layout type="log4net.Layout.PatternLayout">
       
<param name="ConversionPattern"  value="%d [%t] %-5p %c [%x]  - %m%n"  />
     
</layout>
   
</appender>

 
</log4net>
</configuration>

第三步:AssemblyInfo.cs 里加入一行代码,指定log4net要使用的配置文件

  
  
[assembly: log4net.Config.XmlConfigurator(ConfigFile = @" log4net.xml " , Watch = false )]

第四步:在程序中添加代码,如下,运行程序,点击按钮,就可以看到本目录下生成一个文件:MyLog.Log。

  
  
private void button1_Click( object sender, EventArgs e) { log4net.ILog logger = log4net.LogManager.GetLogger( " MyLog " ); logger.Debug( " Hello, Log4Net... " );

其中某一行的日志内容如下:

2010-04-14 10:47:45,156 [3108] DEBUG MyLog [(null)]  - Hello, Log4Net...

实例工程下载:http://files.cnblogs.com/wengd/Log.rar

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Log4Net使用实例(VS2008 App) 的相关文章

  • -ffast-math 可以安全地用于典型项目吗?

    在回答我建议的问题时 ffast math 有评论指出这是危险的 我个人的感觉是 在科学计算之外 是可以的 我还假设严肃的金融应用程序使用定点而不是浮点 当然 如果你想在你的项目中使用它 最终的答案是在你的项目上测试它 看看它有多大影响 但
  • C++ STL 映射,std::pair 作为键

    这就是我通过地图定义的方式 std map
  • MVVM:来自 FileOpenPicker 的图像绑定源

    我将 OnActivated 添加到 app xaml cs 中 它可以正常工作 protected async override void OnActivated IActivatedEventArgs args var continua
  • 字符串/分段错误

    Program to calculate trip and plan flights define TRIP 6 define NAMEMAX 40 define DEST 1 include
  • 如何反序列化 XML 文档

    如何反序列化此 XML 文档
  • 如何在单例类和未命名类之间进行选择?

    我会使用这样的单例 Singleton single Singleton instance single gt do it 我会使用这样的未命名类 single do it 我觉得单例模式除了具有可读的错误消息之外 与未命名的类相比没有任何
  • 如何在 Windows 上的 GCC 中链接 CS50 C 库

    我是 编程新手 一直在尝试使用以下命令编译我的代码MinGW https en wikipedia org wiki MinGW GCC 但我尝试包括CS50 https en wikipedia org wiki CS50 cs50 c
  • C++:避免​​在重载中将字符串自动转换为布尔值

    我想创建一组方法 这些方法将根据其类型输出具有特殊格式的值 当我这样做时 到目前为止看起来还不错 static void printValue std ostringstream out int value out lt lt value
  • 我应该使用字节还是int?

    我记得曾在某处读到 即使您只需要字节 使用 Int32 更好 就性能而言 它 据说 仅适用于您不关心存储的情况 这是有效的吗 例如 我需要一个保存一周中某一天的变量 我是吗 int dayOfWeek or byte dayOfWeek E
  • 如何查看每秒更新的图表中的最后 10 个数据点?

    我有这个代码 private void timer Tick object sender EventArgs e timer Stop for int i 0 i lt TOTAL SENSORS i DateTime d DateTime
  • 我想找到 C# 代码中所有后面没有括号的 if 语句。通过正则表达式

    我想找到所有if声明和for后面没有大括号的语句 当你在一个文件中写入一行时if声明您大多不会将其括在大括号中 所以我想找到所有这些if and for声明 请帮忙 就像我想捕捉这个声明 if childNode Name B return
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • C 编程中的 rand() 问题? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我总是用 rand 得到相同的随机数序列 https stackoverflow com questions 1108780 why do i always get the same seque
  • 大小为 k 的非连续子序列的最大值的最小值

    在开始之前 我希望这个问题不是重复的 我发现了几个类似的问题 但它们似乎都没有描述完全相同的问题 但如果它是重复的 我会很高兴看到一个解决方案 即使它与我的算法不同 我一直在尝试回答这个问题 https stackoverflow com
  • 对象变空似乎是 Hangfire 中的反序列化问题

    Hangfire 似乎无法反序列化我的原始版本Scheduler对象及其所有状态 我正在调用其 Execute 方法BackgroundJob Enqueue 如下所示 Scheduler new FileInFileOut FileIn
  • 对列表中的一系列整数求和

    假设我有一个这样的列表 List
  • 批量插入,asp.net

    我需要获取与会员相对应的 ID 号列表 在任何给定时间处理的数量可能在 10 到 10 000 之间 我可以毫无问题地收集数据 解析数据并将其加载到 DataTable 或任何内容 C 中 但我想在数据库中执行一些操作 将所有这些数据插入表
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • 结构大小与 typedef 版本不同?

    我的代码中有以下结构声明和 typedef struct blockHeaderStruct bool allocated unsigned int length typedef struct blockHeaderStruct block
  • TCP/IP 传输期间套接字数据损坏

    当我通过预连接的 TCP IP 套接字发送数据时 我发现数据已损坏 Example Station1 正在向 Station2 发送数据 我已经在发送之前 在 S1 和接收之后 在 S2 打印了数据 以下是消息 S1 发送的数据是ACKS2

随机推荐

  • 【plotly】用绘图函数,定位坐标相关的问题

    公司的业务场景有涉及到快递配送的场景 某次有运营同学反馈某个订单划分异常 没有划分给距离最近的快递员 让调查这个问题 因为存在数据库中的数据不直观 就想到用绘图工具 把订单的配送位置和快递员当时的定位位置绘制出来 方便调查问题 要求就是能绘
  • 1746. 经过一次操作后的最大子数组和

    1746 经过一次操作后的最大子数组和 你有一个整数数组 nums 你只能将一个元素 nums i 替换为 nums i nums i 返回替换后的最大子数组和 示例 1 输入 nums 2 1 4 3 输出 17 解释 你可以把 4替换为
  • 解决Windows缺少找不到msvcp140.dll文件

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个msvcp140 dll文件进行安装 前提是找到
  • Leaflet-学习

    一 官网 英文官网 Leaflet 中文官网 Leaflet 二 介绍 Leaflet 是一个开源并且对移动端友好的交互式地图 JavaScript 库 它大小仅仅只有39 KB 并且拥有绝大部分开发者所需要的所有地图特性 Leaflet
  • 金融分析与风险管理——投资组合的绩效评估

    金融分析与风险管理 投资组合的绩效评估 1 夏普比率 2 索提诺比率 3 特雷诺比率 4 信息比率 1 夏普比率 夏普比率是指在某一时间段内 投资组合每承担一单位风险所带来的的超额收益 值越大表示收益越好 其表达式如下 S R E
  • CodeGeex AI代码提示插件使用

    这里写自定义目录标题 下载插件 Jetbrains IDEA安装示例 下载插件 可在官网按照指引安装不同编译器的插件 目前支持VS Code 和Jetbrains全家桶 官网地址 https codegeex cn zh CN Jetbra
  • Gartner发布5G网络基础设施魔力象限报告

    昨天 国际权威分析机构Gartner发布了首份 通信运营商5G网络基础设施魔力象限 报告 Gartner通信运营商5G网络基础设施魔力象限 该魔力象限帮助通信服务提供商识别和评估其5G网络基础设施的网络设备提供商 这种端到端5G网络基础设施
  • 为什么样本方差里面要除以(n-1)而不是n?

    前段日子重新整理了一下这个问题的解答 跟大家分享一下 如果有什么错误的话希望大家能够提出来 我会及时改正的 话不多说进入正题 首先 我们来看一下样本方差的计算公式 刚开始接触这个公式的话可能会有一个疑问就是 为什么样本方差要除以 n 1 而
  • LIME(可解释性分析方法)

    目录 1 什么是LIME 2 思路 3 LIME在不同任务中的范式 待补充 1 什么是LIME 简单理解 对于分类任务 如下图所示 LIME可以列出分类结果 所依据特征对应给比重 对于图像分类任务 如下图所示 可以标记出 分类结果对应的特征
  • 西门子S7-200PLC基本入门编程

    1 PLC控制电动机的启保停电路 实验要求 按下启动开关时 电动机正常启动并且保持正常持续工作 按下停止按钮时电动机立刻停止工作 PLCI O分配表 输入量 输出量 I0 0 电动机启动按钮 Q0 0 电动机运行 I0 1 电动机停止按钮
  • Tomcat配置内存和远程debug端口

    配置内存 需要在catalina bat中添加JAVA OPTS参数 如下内容 SET JAVA OPTS Xms256m Xmx1024m XX MaxNewSize 256m XX MaxPermSize 428m Duser time
  • 【Matlab】常用函数汇总(二)

    Matlab 是矩阵实验室 Matrix Laboratory 的英文缩写 是用于科学与工程计算的工具 Matlab 提供了许多常用的数学函数 本文主要介绍 Matlab 与统计 排序 求和与乘积 以及随机数相关的函数 目录 1 统计函数
  • Python支持向量回归SVR拟合、预测回归数据和可视化准确性检查实例

    最近我们被客户要求撰写关于支持向量回归的研究报告 包括一些图形和统计输出 支持向量回归 SVR 是一种回归算法 它应用支持向量机 SVM 的类似技术进行回归分析 正如我们所知 回归数据包含连续的实数 为了拟合这种类型的数据 SVR模型在考虑
  • 软件工程学习日记(4)----面向数据流的设计方法

    用面向数据流的方法设计下列系统的软件结构 问题回顾 为方便储户 某银行拟开发计算机储蓄系统 储户填写的存款单或取款单由业务员输入系统 如果是存款 系统记录存款人姓名 住址 存款类型 存款日期 利率等信息 并印出存款单给储户 如果是取款 系统
  • 四元组与旋转矩阵

    转自 https blog csdn net linuxheik article details 49129927 引用 四元组与旋转矩阵 2011 09 22 17 13 39 分类 DirectX资料 举报 字号 订阅 下载LOFTER
  • halcon起步

    halcon起步 安装 软件介绍 安装 下载地址 管理员方式运行 选择安装 否 复制dll文件 D Program Files MVTec HALCON 12 0 bin x64 win64 重启计算机 软件介绍 打开药品识别例程 导出为c
  • vue3报错:‘xxxx‘is declared but its value is never read.Vetur(6133)

    原因 因为vue3不支持vetur了 解决办法 1 禁用或者删除vscode中的vetur扩展 2 下载Vue Language Features 3 重新打开项目 完美解决
  • 医学图像相关的数据集

    医学图像相关的数据集 1 Camelyon 乳腺病理 数据集获取 参考 博文地址 相关文章推荐 预处理
  • Qt QString字符串分割、截取的3种方法

    Qt QString字符串分割 截取 在做项目中不可避免的会使用到一串字符串中的一段字符 因此常常需要截取字符串 有两种方式可以解决这个问题 方法一 QString分割字符串 QString date dateEdit toString y
  • Log4Net使用实例(VS2008 App)

    准备工作 首先要去http logging apache org log4net 下载log4net的源代码 将log4net sln载入Visual Studio NET 编译后可以得到log4net dll 也可以直接在网上搜索下载别人