Java_log4j起名

 

回来目录

起名 1

新宠儿

Log4j是Apache的3个盛开源代码项目,通过采纳Log4j,我们能够决定日志消息输送的目标地是控制台、文件、GUI组件,甚至是套接口服务器、事件记录器等;大家也足以操纵每一条日志的出口格式;通过定义每一条日志新闻的级别,大家能够更为细心地控制日志的变更进程。最令人感兴趣的正是,这几个能够透过贰个布署文件来灵活地拓展示公布局,而不供给修改应用的代码。

DotNetCore是.net5.0本子,之所以不叫.net5.0为的正是不让我们把它与前方的.net混为一淡,它将是真的含义的跨平台开发语言,在网上也有连带介绍,中华人民共和国的有的大腕也发了有关小说,像张善友大拿也发了多少个篇章,来介绍.NetCore,那段时间,二叔将会一步一步说说这么些跨平台的新宠儿!

log4j是用来记录日志的。

双重起名了

软件的运营进度离不开日志.日志首要用来记录系统运转进度中的一些要害的操作音讯,便于监视系统运转情形,支持用户提前意识和回避可能出现的题材,大概出现难题后基于日志找到爆发的原因.

  • ASP.NET 5 –> ASP.NET Core 1.0
  • .NET Core 5 –> .NET Core 1.0
  • Entity Framework 7 –> Entity Framework Core 1.0

日志依照记录内容的分裂,重要分为以下3类:

起航

  1. SQL日志:记录系统实施的SQL语句.
  2. 充裕日志:记录系统运维中发出的尤其事件.
  3. 工作日志:记录系统运转进度,如用户登录,操作记录.

下载.net core 1.0.0 rc2版

log4j配置

起名 2

首先步:参预log4j-1.2.8.jar(能够选取log4j的更高版本)到lib下。

     
 在MyEclipse中当选要动用log4j的档次,然后挨家挨户选则”Project”
→”Properties”→”Java Build Path”→”Libraries”→”Add External JA卡宴s……”
选项,弹出选择JA奥迪Q3的窗口,找到自身电脑上存放的文本,就是你的Jar包.

第二步:创建log4.properties文件

起名 3起名 4

1 ### 设置Logger输出级别和输出目的地 ###
2 log4j.rootLogger=debug, weilengdeyu
3 
4 ### 把日志信息输出到文件:jbit.log ###
5 log4j.appender.weilengdeyu=org.apache.log4j.FileAppender
6 log4j.appender.weilengdeyu.File=jbit.log
7 log4j.appender.weilengdeyu.layout=org.apache.log4j.PatternLayout
8 log4j.appender.weilengdeyu.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %l %F %p %m%n

配备文件

其三步:相应的改动个中属性,修改在此之前就不能够不知道这么些都以为啥的,在其次片段执教。

第⑥步:在要出口日志的类中参加相关语句

起名 5起名 6

1 定义属性:static Logger logger = Logger.getLogger(LogDemo.class); //LogDemo为相关的类
2 
3 在相应的方法中:
4 
5 if (logger.isDebugEnabled()){
6 
7 logger.debug(“System …..”);
8 
9 }

View Code

树立1个MVC项目

说明

1 log4j.rootCategory=INFO, stdout , R

此句为将等级为INFO的日志消息输出到stdout和Escort那多个目标地,stdout和奥迪Q3的概念在底下的代码,能够肆意起名。等级可分为OFF、FATAL、ELANDROXC60、WA逍客N、INFO、DEBUG、ALL,假若安顿OFF则不打出任何新闻,如若铺排为INFO如此只呈现INFO,
WA酷路泽N,
E奥迪Q5ROHighlander的log音讯,而DEBUG音讯不会被显示,具体讲解可参看第壹有些概念配置文件中的logger。

3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender

此句为定义名为stdout的输出端是哪个种类档次,能够是

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(天天发生1个日志文件),

org.apache.log4j.RollingFileAppender(文件大小到达钦点尺寸的时候发出二个新的文书)

org.apache.log4j.WriterAppender(将日志新闻以流格式发送到任意钦赐的地方)

切实讲解可参考第一有的概念配置文件中的Appender。

4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

此句为定义名为stdout的输出端的layout是哪一类档次,能够是

org.apache.log4j.HTMLLayout(以HTML报表情势布局),

org.apache.log4j.PatternLayout(能够灵活地钦赐布局情势),

org.apache.log4j.SimpleLayout(包蕴日志新闻的级别和音信字符串),

org.apache.log4j.TTCCLayout(包罗日志爆发的年华、线程、类别等等音信)

切切实实讲解可参照第1片段概念配置文件中的Layout。

5 log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t]
%C.%M(%L) | %m%n

一经应用pattern布局就要钦定的打字与印刷音信的有血有肉格式ConversionPattern,打字与印刷参数如下:

%m 输出代码中内定的消息;

%M 输出打字与印刷该条日志的不二法门名;

%p
输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;

%r 输出自应用运行到输出该log音讯成本的飞秒数;

%c 输出所属的类目,平常正是所在类的全名;

%t 输出产生该日志事件的线程名;

%n 输出贰个回车换行符,Windows平台为”rn”,Unix平台为”n”;

%d
输出日志时间点的日子或时刻,暗中同意格式为ISO8601,也足以在其后钦命格式,比如:%d{yyyy-MM-dd
HH:mm:ss,SSS},输出接近:二零零一-10-18 22:10:28,921;

%l 输出日志事件的发生地方,及在代码中的行数;

[QC]是log音讯的伊始,可以为随机字符,一般为品种简称。

出口的音信

[TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning
cached instance of singleton bean ‘MyAutoProxy’

实际讲解可参看第一部分概念配置文件中的格式化日志音讯。

7 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

此句与第③行一样。定义名为GL450的输出端的连串为天天发生二个日志文件。

8 log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log

此句为定义名为Kuga的输出端的文件名为D:\\Tomcat
5.5\\logs\\qc.log能够自动修改。

9 log4j.appender.R.layout=org.apache.log4j.PatternLayout

与第4行相同。

10log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c –
%m%n

与第5行相同。

12 log4j.logger.com. neusoft =DEBUG

点名com.neusoft包下的全体类的等级为DEBUG。

能够把com.neusoft改为投机项目所用的包名。

13 log4j.logger.com.opensymphony.oscache=ERROR

14 log4j.logger.net.sf.navigator=ERROR

那两句是把那七个包下出现的百无一是的等级设为ESportageRO卡宴,假若项目中没有配置EHCache,则不必要那两句。

15 log4j.logger.org.apache.commons=ERROR

16 log4j.logger.org.apache.struts=WARN

那两句是struts的包。

17 log4j.logger.org.displaytag=ERROR

那句是displaytag的包。(QC难题列表页面所用)

18 log4j.logger.org.springframework=DEBUG

此句为Spring的包。

24 log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN

25 log4j.logger.org.hibernate=DEBUG

此两句是hibernate的包。

如上那一个包的设置可依据项目标实际景况而自动定制。

起名 7

概念配置文件

Log4j帮衬三种配备文件格式,一种是XML规范通用标记语言下的2个使用)格式的文件,一种是Java个性文件log4j.properties(键=值)。下面将介绍使用log4j.properties文件作为配置文件的主意:

①、配置根Logger

Logger 负责处理日志记录的大部操作。

其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, …

个中,level
是日记记录的优先级,分为OFF、FATAL、E本田CR-VRO奇骏、WALacrosseN、INFO、DEBUG、ALL恐怕自定义的级别。Log4j提出只利用几个级别,优先级从高到低分别是E奥迪Q3ROPRADO、WARubiconN、INFO、DEBUG。通过在此地定义的级别,您可以决定到应用程序中相应级其余日记新闻的开关。比如在此处定义了INFO级别,唯有等于及超越这一个级别的才开始展览处理,则应用程序中拥有DEBUG级其他日志音讯将不被打字与印刷出来。ALL:打字与印刷全体的日记,OFF:关闭全体的日志输出。
appenderName就是点名日志新闻输出到哪些地点。可同时内定三个出口目标地。

贰 、配置日志音讯输出指标地 Appender

Appender 负责控制日志记录操作的出口。

其语法为:

log4j.appender.appenderName = fully.qualified.name.of.appender.class

log4j.appender.appenderName.option1 = value1

log4j.appender.appenderName.optionN = valueN

那里的appenderName为在①里定义的,可任意起名。

里头,Log4j提供的appender有以下两种:

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(天天产生3个日志文件),

org.apache.log4j.RollingFileAppender(文件大小到达内定尺寸的时候发出贰个新的公文),可由此log4j.appender.R.马克斯FileSize=100KB设置文件大小,还可通过log4j.appender.智跑.马克斯BackupIndex=1设置为保留三个备份文件

org.apache.log4j.WriterAppender(将日志消息以流格式发送到任意钦定的地方)

例如:log4j.appender.stdout=org.apache.log4j.ConsoleAppender

概念一个名为stdout的输出目标地,ConsoleAppender为控制台。

3、配置日志消息的格式(布局)Layout

Layout 负责格式化Appender的出口。

其语法为:

log4j.appender.appenderName.layout =
fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout.option1 = value1

log4j.appender.appenderName.layout.optionN = valueN

中间,Log4j提供的layout有以下两种:

org.apache.log4j.HTMLLayout(以HTML表格格局布局),

org.apache.log4j.PatternLayout(能够灵活地内定布局格局),

org.apache.log4j.SimpleLayout(包罗日志音讯的级别和音讯字符串),

org.apache.log4j.TTCCLayout(包括日志发生的时刻、线程、体系等等新闻)

 

前边大家会看出相应的新闻,明日任重(Ren Zhong)而道远说一下开局文件,Startup.cs

Configure方法主要意义是对运营环境进行性子化配置,如调节和测试环境(Development),生产条件(Production),跌代环境(Staging)等

  public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

            //判断运行环境
            if (env.IsDevelopment())
            {
                // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709
                builder.AddUserSecrets();

                // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately.
                builder.AddApplicationInsightsSettings(developerMode: true,endpointAddress:"localhost:5000");
            }

            builder.AddEnvironmentVariables();
            Configuration = builder.Build();

        }

内需希望修改监听的端口,须求修改program.cs程序,具体如下

     public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                    .UseKestrel()
                    .UseContentRoot(Directory.GetCurrentDirectory())
                    .UseIISIntegration()
                    .UseStartup<Startup>()
                    .UseUrls("http://192.168.2.22:5000")
                    .Build();


            host.Run();
            host.Run();
        }

诸如此类大家的率先个应用程序就能够了,它能够安顿到linux,maxos等操作系统上,只必要安装dotnet-cli即可。

起名 8

终于OK了,我们的第1个跨平台的.net程序实现了!

感谢您的读书!

回来目录

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图