Log4Net

  1. <?xml version="1.0"?>  
  2. <configuration>  
  3.   <configSections>  
  4.     <section name="log4net"   
  5.              type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>  
  6.   </configSections>  
  7.   <!--站点日志配置部分-->  
  8.   <log4net>  
  9.     <root>  
  10.       <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->  
  11.       <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->  
  12.       <!--如果没有定义LEVEL的值,则缺省为DEBUG-->  
  13.       <level value="ERROR"/>  
  14.       <appender-ref ref="RollingFileAppender"/>  
  15.     </root>  
  16.     <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">  
  17.       <!--日志文件名开头-->  
  18.       <file value="c:\Log\TestLog4net.TXT"/>  
  19.       <!--多线程时采用最小锁定-->  
  20.       <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>  
  21.       <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->  
  22.       <datePattern value="(yyyyMMdd)"/>  
  23.       <!--是否追加到文件,默认为true,通常无需设置-->  
  24.       <appendToFile value="true"/>  
  25.       <!--变换的形式为日期,这种情况下每天只有一个日志-->  
  26.       <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->  
  27.       <!--<rollingStyle value="Date"/>-->  
  28.       <!--变换的形式为日志大小-->  
  29.       <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->  
  30.       <RollingStyle value="Size"/>  
  31.       <!--每天记录的日志文件个数,与maximumFileSize配合使用-->  
  32.       <MaxSizeRollBackups value="10"/>  
  33.       <!--每个日志文件的最大大小-->  
  34.       <!--可用的单位:KB|MB|GB-->  
  35.       <!--不要使用小数,否则会一直写入当前日志-->  
  36.       <maximumFileSize value="2MB"/>  
  37.       <!--日志格式-->  
  38.       <layout type="log4net.Layout.PatternLayout">  
  39.         <conversionPattern value="%date [%t]%-5p %c - %m%n"/>  
  40.       </layout>  
  41.     </appender>  
  42.   </log4net>  
  43. </configuration>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言在互联网时代,分布式应用、系统变得越来越多,我们在使用 .Net 技术构建分布式系统的时候,需要使用到一些组件或者是助手库来帮助我们提高生产力以及应用程序解耦,但是纵观.Net圈,能够符合要求的这样的组件并不是 很多,并且没有一个通用的抽象组件能够将这些接口集成起来,今天就为大家介绍一款开源的组件库 Foundatio,他们同样出自于Exceptionless团队之手,下面就来看看吧。目录Foundatio 介绍Getting Started缓存队列锁消息工作任务文件存储度量日志示例程序源码总结Foundatio 介绍GitHub : https://github.com/exceptionless/FoundatioFoundatio 是一个插件式的,松耦合的一套构建分布式应用的程序库,出自于Exceptionless团队。Foundatio 同时支持 .NET Framework 4.6 和 .NET Core。通过 Foundatio 我可以获得哪些帮助呢?如果你是面对接口(抽象)构建的程序,你可以很容易的对接口实现进行切换。具有友好的依赖注入,还在使用 .Net Framework的朋友可以体验一下,它具有比Autofac,Unity等更简易的操作和更友好的接口。可以更加方便的使用缓存了,Foundatio帮助我们封装了很多缓存的客户端实现,比如RedisCache、InMemoryCache、ScopedCache等等。消息总线,你不必自己构建或者使用复杂且昂贵的NServiceBus了,很多时候我们仅仅需要的是一个可以在本地或者云上运行的简单的消息总线。存储,现在你可以很方便的通过一致的接口来使用分布式存储了,包括内存文件存储、文件夹文件存储,Azure文件存储,AWS S3文件存储。Foundatio 主要包含以下模块:缓存(Caching)队列(Queues)锁(Locks)消息(Messaging)工作任务(Jobs)文件存储(File Storage)度量(Metrics)日志(Logging)这些组件都以NuGet包的形式提供出来供我们很方便的使用,下面依次来看看每一个组件的用途和使用方法吧。Getting Started缓存缓存是一种空间换时间的技术,你可以通过缓存来快速的获取一些数据。Foundatio Cache 提供了一致的接口ICacheClient 来很容易的存储或者读取缓存数据,并且提供了4中不同的缓存客户端的实现。他们分别是:1、InMemoryCacheClient:内存缓存的实现,这种缓存的生命周期为当前进程, 有一个MaxItems属性,可以设置最多缓存多少条数据。2、HybridCacheClient:InMemoryCacheClient 具有相同的实现,但是此接口提供、IMessageBus 可以用来跨线程之间的同步。3、RedisCacheClient:一个 Redis 客户端的实现。4、RedisHybridCacheClient:一个RedisCacheClient 、InMemoryCacheClient 的混合实现,通过RedisMessageBus来保持内存缓存跨线程之间的同步。注意:如果本地缓存的项已经存在,在调用Redis进行序列化保存的时候可能会有性能问题。5、ScopedCacheClient:传入ICacheClient和scope,scope 可以设置一个字符串,来制定一个缓存键前缀,这样可以很方便的进行批量存储和删除。例子:using Foundatio.Caching; ICacheClient cache = new InMemoryCacheClient(); await cache.SetAsync("test", 1); var value = await cache.GetAsync("test");队列提供了一个先进,先出的消息管道,Foundatio 提供了一个IQueue接口,并且拥有 4 种不同的队列实现。1、InMemoryQueue:一个内存队列实现,队列的生命周期为当前进程。2、RedisQueue:一个 Redis 队列实现。3、AzureServiceBusQueue:一个基于Azure的服务消息队列实现。4、AzureStorageQueue:一个基于Azure的存储队列实现。例子:using Foundatio.Queues; IQueue queue = new InMemoryQueue();await queue.EnqueueAsync(new SimpleWorkItem {     Data = "Hello"});var

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值