netcore log4相关
配置:
1:NuGet程序包 - 搜索log4net - 安装
2:配置代码
Startup文件
#region log4
public static ILoggerRepository repository { get; set; }
#endregion
public Startup(IConfiguration configuration)
{
Configuration = configuration;
#region log4配置
repository = log4net.LogManager.CreateRepository("NETCoreRepository");
log4net.Config.XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
#endregion
}
3:增加配置文件 log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="D:\log4/" /> //存储路径
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
4:编写代码
(1):
public class Log4Controller : Controller
{
private ILog log;
public Log4Controller(IHostingEnvironment hostingEnv)
{
this.log = LogManager.GetLogger(Startup.repository.Name, typeof(Log4Controller));
}
// GET: /<controller>/
public IActionResult Index()
{
log.Error("测试日志");
return Content("log.Error ok");
}
}
5:日志级别
trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。
debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。
info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。
warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。
error: 错误信息。用的也比较多。
fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了,是不应该出现的错误么!不用那么紧张,其实就是一个程度的问题。
netcore log4相关的更多相关文章
- WTM 3.1发布,完美支持.netcore 3.1
在过去的2019年,承蒙各位的厚爱,WTM从零开始一年的时间在GitHub上收获了将近1600星,nuget上的下载量累计超过10万. WTM所坚持的低码开发,快速实现的理念受到了越来越多.netco ...
- Log4net - 规则简介
参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...
- Python3 与 C# 扩展之~基础衍生
本文适应人群:C# or Python3 基础巩固 代码裤子: https://github.com/lotapp/BaseCode 在线编程: https://mybinder.org/v2/g ...
- Miniprofiler在swagger、vue、angular中的使用
本篇分为以下几个部分: 1.Swagger的简单应用 2.Miniprofier的后台配置 3.跨域配置 4.在angular中显示Miniprofier 5.在vue中显示Miniprofier ...
- Selenium+Java完整框架搭建(2019完整版)
一.WebDriver框架开发实战 1.框架的思想 (1)什么是框架? 框架是可以被应用开发者定制的应用骨架 (2)为什么要写框架? 提高脚本可维护性 提高编写脚本的速度 提高脚本可阅读性 (3)框架 ...
- Logstash实践
转载请注明出处:https://www.cnblogs.com/shining5/p/9542710.html Logstash简介 一个开源的数据收集引擎,具有实时数据传输能力,可以统一过滤来自不同 ...
- 嵌入式单片机STM32应用技术(课本)
目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...
- 杂谈.netcore的Buffer相关新类型
1 文章范围 本文将.netcore新出现的与Buffer操作相关的类型进行简单分析与讲解,由于资料有限,一些见解为个人见解,可能不是很准确.这些新类型将包括BinaryPrimitives.Span ...
- .netcore ioc 循环依赖问题及其相关思考之DispatchProxy
.netcore引入了ioc机制让开发人员逐步习惯从过去的各种new对象变成通过IOC框架来管理对象的生命周期.这样当我们需要某个对象的时候,我们一般在构造函数里申明该对象的接口,即可通过ioc容器创 ...
随机推荐
- Redis在CentOS和Windows安装过程
redis是一种key-value高效的内存数据库. key-value是什么?json懂吧?字典懂吧?这些都是key-value结构的数据,每个key对应1个value. 那这个数据库和我们网站在使 ...
- 如何在element-ui table 取到对应的ID的最后一个对象
来回切换3个状态值如何得到对应ID的最后一个对象 var is_push = () => { for (var i = 0; i < this.form.FaultDevices.leng ...
- Java获取Ip发送邮件
import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import javax.servlet. ...
- Sublime Text 3 常用插件
我在开发过程中,需要经常使用的插件,记录下来,省得到处寻找. Emmet 前端开发必备,您可以轻松快速地编写HTML.一个可以极大地改善工作流程的工具包.Emmet绝对的节省时间. ColorHelp ...
- Python_paramiko模块
paramiko模块安装:pip3 install paramiko paramiko模块(模拟SSH),是基于SSH(网络安全协议)用于连接远程服务器并执行相关操作. ssh: 基于口令的安全验证 ...
- twig模板基本学习
twig基本语法 1.输出 {{ }} 2.判断 {% %} 3.注释 {# #} 具体使用时参考https://twig.symfony.com/doc/2.x/官网文档进行查 ...
- elasticsearch搜索框架的安装相关
安装JAVA SE 百度一下JAVA SE,按照自己的平台,位数选择就是了, 这里遇到过一个坑,双击exe安装包一直无法打开jdk的安装,在任务管理器里面就一闪而过, 后来我卸载了所有JAVA的相关安 ...
- 【JAVA基础】一:聊聊笔试常见到的 “==、equal” 比较是否相等的内在差别
开始本文之前,先让我们记住一个口诀(这个口诀只针对基础的类比如String.Integer等,如果是自定义的类,需要看equal的具体实现): equal比较其值,== 比较地址 这两天在走查代码的时 ...
- MongoDB 组合多个条件查询($and、$in、$gte、$lte)
一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...
- web学习路线