上海网站seo招聘,网店推广技巧,沈阳模板网站制作,双语教学示范课程建设项目网站一. 自定义打印日志
开发者自定义打印日志实现步骤: • 在程序中得到日志对象 • 使用日志对象的相关语法输出要打印的内容. 得到日志对象:
//日志工厂需要将需要打印的类的类型传递进去,这样我们才知道日志的归属类,才能更方便的定位到文体类
private static Logger logger …一. 自定义打印日志
开发者自定义打印日志实现步骤: • 在程序中得到日志对象 • 使用日志对象的相关语法输出要打印的内容. 得到日志对象:
//日志工厂需要将需要打印的类的类型传递进去,这样我们才知道日志的归属类,才能更方便的定位到文体类
private static Logger logger LoggerFactory.getLogger(LogController.class);
注意: Logger 对象是属于 org.slf4j 包下的,不要导错包
使用日志对象打印日志: RequestMapping(/log)public void log(){String mesg今天是周五,我要成为Java高手;logger.trace(trace - mesg);logger.debug(debug - mesg);logger.info(debug - mesg);logger.warn(warn - mesg);logger.error(error - mesg);}
打印日志效果: 在代码中我们明明打印了五次,但为什么只打印了三条日志信息呢? 这就又涉及到了日志级别
二. 日志级别
2.1 日志级别作用
1. 日志级别可以帮我们筛选出重要的信息,比如设置日志级别为error ,那么就可以只看程序的报错日志了,对于普通的调试日志和业务日志就可以忽略了,从而节省开发者信息筛选的时间.
2. 日志级别可以控制不同环境下,一个程序是否需要打印日志,如开发环境我们需要很详细的信息,而生产环境为了保证性能和安全性就会输出尽量少的日志,而通过日志的级别就可以实现此需求.
2.2 日志级别的分类与使用
日志级别: • trace微量少许的意思级别最低 • debug需要调试的时候的关键信息打印 • info普通的打印信息默认日志级别 • warn警告不影响使用但需要注意的问题 • error错误信息级别较高的错误日志信息 • fatal致命的因为代码异常导致程序退出执行的时间(只有系统崩溃的时候才能输出的日志级别 日志级别顺序 级别越高接收到的消息就越少如果设置了 warn 就只能收到 warn、error、fatal 级别的日志了
日志级别的设置
日志级别配置只需要在配置文件中设置“logging.level” 配置项即可
#整个项目的日志级别
logging.level.rootwarn
#给文件夹单独设置级别(level后跟对应的包名)
logging.level.www.logPrint.LogController2warn
logging.level.www.logPrint.LogControllertrace 为什么Spring Boot 可以打印日志并设置日志级别 因为SpringBoot 内置了两个日志框架SLF4J LogBack SLF4J让开发者使用和调用框架底层实现日志打印的框架很多开发者无需关心调用哪个框架开发者只需要向SLF4J提供需求就行了 LogBacd最底层实现日志相关操作的框架 三. 日志的持久化
日志的持久化能够保留到我们的磁盘上方便发现问题后追溯问题
#设置日志文件的目录
logging.file.pathE:\\Code
#配置日志文件名
logging.file.nameE:\\Code\\2023_12_30
#配置日志文件名(直接写名字会在项目目录中创建一个日志文档)
logging.file.name2023_12_30
四. 更简单的日志输出-lombok
安装插件: 添加依赖 :
dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional
/dependency
输出日志:
//相当于ResponseBody Controller
RestController
Slf4j
public class LogController {
// private Logger logger
// LoggerFactory.getLogger(LogController.class);RequestMapping(/log)public void log(){String mesg今天是周五,我要成为Java高手;log.trace(trace - mesg);log.debug(debug - mesg);log.info(info - mesg);log.warn(warn - mesg);log.error(error - mesg);}
} 注:使用 Slf4j 注解,在程序中使用log对象即可输出日志,并且只能使用log对象才能输出,这是lombok 提供的对象名. 五. lombok原理解释
Java程序的运行原理: Lombok 的作用如下图所示 lombok 能够打印日志的密码就在 target 目录里面target 为项目最终执行的代码查看 target 目录如下 在编译时期Lombok将 .java 文件编译成 .class 文件时自动生成变量名为 log 的 Logger 对象
其他常用注解