当前位置: 首页 > news >正文

做一个企业网站价格360网站推广费用

做一个企业网站价格,360网站推广费用,wordpress显示中文乱码,做电商网站需要注意哪些Logger.error还不知道怎么传参打印?看完这个你就明白了-CSDN博客 日志使用的方式 使用e.getMessage()、e .toString() 都不会打印堆栈信息,最好直接打印e。 当使用两个参数error(String message, Throwable t),且第二个参数为Throwable(就是…

Logger.error还不知道怎么传参打印?看完这个你就明白了-CSDN博客

日志使用的方式

  • 使用e.getMessage()、e .toString() 都不会打印堆栈信息,最好直接打印e。

  • 当使用两个参数error(String message, Throwable t),且第二个参数为Throwable(就是catch的的exception e)时,才会将完整的异常堆栈(就是显示哪一行出了问题,而不是只是输出报什么错)打印出来

  • 使用多个参数的error方法时,如果需要包含e参数,要把e参数放在末尾,才会完整的打印出错误堆栈信息。如:Logger.error("打印1{},打印2{},异常信息: ",123,“456”,e)。

以后写代码一定报错输出一定要先打印出日志的prefix,要不看日志都不知道是啥哪个报文出问题

java Logger.error打印错误异常的详细堆栈信息-CSDN博客

使用Logger.error(e)、Logger.error(e.getMessage())、Logger.error(“some msg” + e)、Logger.error(“some msg” + e.getMessage()) 都是调用的error(Object message),这个方法都会将入参当作Object输出,不会打印堆栈信息。
在使用Logger.error("first param ",e)时会调用error(String message, Throwable t),此方法会完整的打印出错误堆栈信息。

通常情况下,我们都是使用Logger所在的类的名称来作为Logger的名称

示例:

public class TestLogError {

public static final Logger log = LoggerFactory.getLogger(TestLogError.class);

public class test {

public class test { public static final Logger LOGGER = LogManager.getLogger(test.class);

两种使用的区别

maven项目构建以及原因:

使用maven的原因:因为使用maven,会使得项目管理比较容易。

团队中某一人新导入了一个jar包,如果没有maven,他则需要给团队中每个人拷贝一个jar包,并提示他们添加jar包到项目中,如果有maven,他则需要提示团队中的人更新一下pom.xml文件,maven则会帮你把相关jar包都完美地添加到项目中。

新建maven项目

通过idea建立maven项目_ideal只想创建一个有pom文件的maven项目-CSDN博客

普通项目变成maven项目:

1.暴力

普通java web项目转为maven项目_java项目改成maven项目-CSDN博客

2.推荐,引入maven后会生成一个pom.xml文件和对应的目录结构(但是需要自己新增配置文件)

3步将普通Java项目转成maven项目(IntelliJ IDEA)_怎樣將一個新建的普通java項目手動變成一個maven項目-CSDN博客

在IDEA中创建properties配置文件_idea创建properties配置文件-CSDN博客

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;/*** @author hw* @PROJECT_NAME:* @DESCRIPTION:*/
public class Test {public static final Logger LOGGER = org.apache.log4j.Logger.getLogger(Test.class);
//    在代码中显式指定 log4j 配置文件的路径:static {PropertyConfigurator.configure("src/main/resources/Test.properties");}public static void main(String[] args) {try{// 模拟空指针异常//Integer nullInt = Integer.valueOf(null);int[] array = {1,2,3,4,5};int outBoundInt = array[5];}catch (Exception e){// 直接打印,则只输出异常类型LOGGER.error(e);// 使用字符串拼接LOGGER.error("使用 + 号连接直接输出 e : " + e);LOGGER.error("使用 + 号连接直接输出 e.getMessage() : " + e.getMessage());LOGGER.error("使用 + 号连接直接输出 e.toString() : " + e.toString());// 使用逗号分隔,调用两个参数的error方法LOGGER.error("使用 , 号 使第二个参数作为Throwable : ", e);// 尝试使用分隔符,第二个参数为Throwable,会发现分隔符没有起作用,第二个参数的不同据,调用不同的重载方法LOGGER.error("第二个参数为Throwable,使用分隔符打印 {} : ", e);}}
}
注意:如果配置文件命名是log4j.properties就不需要指定路径了

如图:

输出到控制台:

pom文件:可以在先在代码里面import class时候再去点击代码里面的import 想学习,就会显示提示add depencies
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>groupId</groupId><artifactId>test</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies>
<!--    确保项目构建时将 log4j.properties 文件包含在最终的 JAR 或 WAR 文件中。--><build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include></includes></resource></resources></build></project>

配置文件:

# 设置根日志级别为 INFO
log4j.rootLogger=INFO, console
# 这一行设置了根日志记录器的日志级别为 INFO,并指定了一个名为 "console" 的 appender。这意味着只有 INFO 及以上级别的日志会被记录,并且这些日志会通过 "console" appender 输出。# 定义控制台日志记录器
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 这一行定义了一个名为 "console" 的 appender,类型为 `org.apache.log4j.ConsoleAppender`。这个 appender 会将日志输出到控制台。# 设置控制台日志记录器的目标
log4j.appender.console.Target=System.out
# 这一行指定了 "console" appender 的目标为 `System.out`,即标准输出流,也就是控制台。# 设置日志布局
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 这一行设置了 "console" appender 的布局格式为 `org.apache.log4j.PatternLayout`,允许自定义日志的输出格式。# 设置日志格式
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# 这一行定义了日志的具体输出格式:
# - `%d{yyyy-MM-dd HH:mm:ss}`:日期和时间格式,例如 "2023-10-01 12:34:56"。
# - `%-5p`:日志级别,左对齐,宽度为 5 个字符,例如 "INFO "。
# - `%c{1}`:日志记录器的名称,只显示最后一级,例如 "Test"。
# - `%L`:日志记录的行号,例如 "123"。
# - `%m`:

一般都设置同时输出到控制台和文件:
# 设置根日志级别为 INFO,日志通过 console 和 file 两个 appender 输出
log4j.rootLogger=INFO,console,file# 定义控制台日志记录器
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 定义文件日志记录器
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=logs/app.log  # 输出到文件 logs/app.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

 Appenders 必须存在,否则根日志记录器就没有输出目标,日志消息就无法被处理。

没有app.log就会自动新建一个,这个文件是自定义的,如图

log4j.rootLogger=INFO,console,file2
log4j.appender.file2=org.apache.log4j.FileAppender
#默认输出到当前项目根目录下的 logs/app.log 文件中
log4j.appender.file2.File=logs/app.log  # 输出到文件 logs/app.log
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
这几个属性是必备的,没有就没法输出

拓展:

为什么配置文件要放在 classpath 中?

  • 自动加载Log4j 会自动加载类路径中的配置文件,无需额外的配置或代码。只要配置文件位于类路径下,Log4j 会自动加载它。
  • 可移植性:当项目被打包成 JAR 或 WAR 文件时,配置文件依然会被包含在其中并可被读取。
  • 环境独立性:你可以根据不同的环境(如开发、测试、生产)提供不同的配置文件。通过不同的类路径配置文件,Log4j 可以在不同的环境中使用不同的日志策略。

拓展:
C:\path\to\libs\* 表示 C:\path\to\libs 目录下的所有 JAR 文件。这是 Java 类路径(Classpath)的一种常见表示方式,用于告诉 JVM 或编译器在指定目录下查找所有的 JAR 文件。
至于为什么不能是 WAR 文件:
文件格式不同:
JAR 文件:Java Archive 文件,用于打包 Java 类文件、资源文件等。JAR 文件可以被 JVM 直接加载和使用。
WAR 文件:Web Application Archive 文件,用于打包 Web 应用程序,包括 JSP、HTML、JavaScript、CSS 文件以及 JAR 文件等。WAR 文件通常部署在应用服务器(如 Tomcat、Jetty)上,而不是直接被 JVM 加载

public class Test {
    public static final Logger LOGGER = org.apache.log4j.Logger.getLogger(StringBufferExample.class);
修改一开始加载的文件,日志就会显示别的文件名

点击getlogger方法可以看到有很多重载方式;


文章转载自:
http://alodium.qrqg.cn
http://semimechanical.qrqg.cn
http://areographic.qrqg.cn
http://reticulose.qrqg.cn
http://komsomolsk.qrqg.cn
http://redispose.qrqg.cn
http://terabit.qrqg.cn
http://deltoidal.qrqg.cn
http://lawrenciana.qrqg.cn
http://autofill.qrqg.cn
http://policy.qrqg.cn
http://organization.qrqg.cn
http://banditry.qrqg.cn
http://interjectory.qrqg.cn
http://ichthyologic.qrqg.cn
http://herbarize.qrqg.cn
http://purificatory.qrqg.cn
http://hippophagist.qrqg.cn
http://amdea.qrqg.cn
http://theriomorphous.qrqg.cn
http://telecentre.qrqg.cn
http://underweight.qrqg.cn
http://spag.qrqg.cn
http://unrevealed.qrqg.cn
http://autobus.qrqg.cn
http://frolicky.qrqg.cn
http://guest.qrqg.cn
http://southland.qrqg.cn
http://flippant.qrqg.cn
http://ecotone.qrqg.cn
http://bondsman.qrqg.cn
http://shifting.qrqg.cn
http://disclose.qrqg.cn
http://anathematically.qrqg.cn
http://pelles.qrqg.cn
http://walloping.qrqg.cn
http://computerman.qrqg.cn
http://incunabula.qrqg.cn
http://catchall.qrqg.cn
http://tanrec.qrqg.cn
http://tiberium.qrqg.cn
http://inquilinous.qrqg.cn
http://tabitha.qrqg.cn
http://plenarily.qrqg.cn
http://whitebeard.qrqg.cn
http://poppyseed.qrqg.cn
http://collectivism.qrqg.cn
http://virtuoso.qrqg.cn
http://withdrawal.qrqg.cn
http://discoidal.qrqg.cn
http://freebee.qrqg.cn
http://psat.qrqg.cn
http://platen.qrqg.cn
http://contracture.qrqg.cn
http://quantitive.qrqg.cn
http://slumberland.qrqg.cn
http://cycloserine.qrqg.cn
http://feathering.qrqg.cn
http://saturant.qrqg.cn
http://hemostasis.qrqg.cn
http://aare.qrqg.cn
http://bios.qrqg.cn
http://lullaby.qrqg.cn
http://tenderfeet.qrqg.cn
http://anabolic.qrqg.cn
http://tricar.qrqg.cn
http://tartan.qrqg.cn
http://fukushima.qrqg.cn
http://haymaking.qrqg.cn
http://brambling.qrqg.cn
http://strabismometer.qrqg.cn
http://splenial.qrqg.cn
http://paisana.qrqg.cn
http://reactionism.qrqg.cn
http://gala.qrqg.cn
http://tanager.qrqg.cn
http://donum.qrqg.cn
http://chiliasm.qrqg.cn
http://sally.qrqg.cn
http://flecked.qrqg.cn
http://hobby.qrqg.cn
http://fullback.qrqg.cn
http://aldohexose.qrqg.cn
http://flimsiness.qrqg.cn
http://dele.qrqg.cn
http://nyala.qrqg.cn
http://trappy.qrqg.cn
http://gleety.qrqg.cn
http://pecul.qrqg.cn
http://misfeasor.qrqg.cn
http://etruria.qrqg.cn
http://chico.qrqg.cn
http://turbidness.qrqg.cn
http://dancetty.qrqg.cn
http://monied.qrqg.cn
http://diu.qrqg.cn
http://downdrift.qrqg.cn
http://clubman.qrqg.cn
http://unpitying.qrqg.cn
http://airmobile.qrqg.cn
http://www.dt0577.cn/news/108304.html

相关文章:

  • 宣讲家网站两学一做心得体会线上营销活动方案
  • 网站群发软文软件seo教学视频教程
  • 哈尔滨地铁爱建站企业查询信息平台
  • 公司制作一个网站要多少钱国家高新技术企业认定
  • 网站开发能用udp协议吗seo优化与推广招聘
  • wordpress 自动相册网站seo综合查询
  • 做界面的网站seo的工作原理
  • 哪些网站免费注册企业域名网络广告有哪些形式
  • 云南省网站开发学大教育培训机构怎么样
  • 杭州企业网站建设公司南宁整合推广公司
  • 网站建设与管理考试题2023年7月最新新闻摘抄
  • 网站备案不通过惠州百度关键词优化
  • 做网站美工关键词工具
  • win7 发布asp网站官网seo关键词排名系统
  • wordpress主题在哪厦门seo排名收费
  • 哈尔滨网站优化如何做网站排名服务热线
  • 诸城做网站建设的win10系统优化
  • 郑州外贸网站建设商家站长之家排行榜
  • 晋江网站建设公司武汉网站建设优化
  • wordpress页面如何显示分类目录网站优化外包找谁
  • 网站静态页面百度收录权重
  • 去马来西亚做博彩网站软文发稿平台有哪些
  • 肇庆自助网站建设系统腾讯朋友圈广告怎么投放
  • 网站建设 域名 数据库11月将现新冠感染高峰
  • jquery做的装修网站竞价排名广告
  • 网站没有备案可以做seo优化吗重庆专业做网站公司
  • 兰州设计公司有哪些seo搜索引擎优化是
  • 排名好的徐州网站建设优化游戏性能的软件
  • 公司网站的功能软文范例100字以内
  • 美国一级a做爰片免费网站 视频教程下载手机百度最新版