Für uns besteht der Hauptzweck von Protokollen darin, Probleme zu beheben und zu lokalisieren. Neben der Erkennung und Lokalisierung von Problemen können wir durch Protokolle auch die folgenden Funktionen erreichen:
Spring Boot verfügt über ein integriertes Protokollierungsframework
Standardmäßig ist das Ausgabeprotokoll nicht definiert und Wird vom Entwickler gedruckt. Wie kann der Entwickler es im Programm „Protokoll drucken“ definieren?
Das Protokoll wird standardmäßig auf der Konsole gedruckt, aber das Konsolenprotokoll kann nicht dauerhaft gespeichert werden.
3. Benutzerdefinierter Protokolldruck
Rufen Sie das Protokoll im Programm ab
Verwenden Sie die entsprechende Syntax des Protokollobjekts, um den zu druckenden Inhalt auszugeben
3.1 Erhalten Sie das Protokollobjekt im Programm
private static final Logger log = LoggerFactory.getLogger(UserController.class);
4. Protokollebene
4.1 Wozu dient die Protokollebene?
Die Protokollebene kann Ihnen dabei helfen, wichtige Informationen herauszufiltern. Wenn Sie beispielsweise die Protokollebene auf „Fehler“ setzen, können Sie nur das Fehlerprotokoll des Programms sehen und die normalen Debug-Protokolle und Geschäftsprotokolle ignorieren. Dies spart Entwicklern Zeit beim ScreeningDie Protokollebene kann steuern, ob ein Programm Protokolle in verschiedenen Umgebungen drucken muss. In der Entwicklungsumgebung benötigen wir beispielsweise sehr detaillierte Informationen, während in der Produktionsumgebung nur wenige Informationen erforderlich sind Informationen werden ausgegeben, um Leistung und Sicherheit aufrechtzuerhalten. Protokolle. Diese Anforderungen können durch Protokollebenen erfüllt werden. Das bedeutet ein wenig, die unterste Ebene
Info: Normale Druckinformationen (Standardprotokollebene)
Warnung: Warnung: Beeinträchtigt nicht die Verwendung, aber Probleme, die erforderlich sind Achtung
@Controller @ResponseBody public class UserController { private static final Logger log = LoggerFactory.getLogger(UserController.class); @RequestMapping("/sayhi") public void sayHi() { log.trace("trace"); log.debug("debug"); log.info("info"); log.warn("warn"); log.error("error"); } }
/ verwenden.
als Trennzeichen.
verwenden, um es zu maskieren配置日志文件的文件名:
logging: file: name: D:/rizhi/logger/spring.log
每次使用LoggerFactory.getLogger很繁琐,且每个类都添加一遍,也很麻烦。这里的lombok是一种更好的日志输出方式
添加lombok框架支持
使用@slf4j注解输出日志
首先要安装一个插件:
然后再pom.xml页面右键、
最后重新添加依赖就可以了
使用@Slf4j注解,在程序中使用log对象即可输入日志并且只能使用log对象才能输出,这是lombok提供的对象名
lombok 能够打印⽇志的密码就在 target ⽬录⾥⾯,target 为项⽬最终执⾏的代码,查看 target ⽬录我们可以发现:
这里的@Slf4j注解变成了一个对象。
下面是java程序的运行原理:
基本注解
注解 | 作用 |
---|---|
@Getter | 自动添加get方法 |
@Setter | 自动添加set方法 |
@ToString | 自动添加toString方法 |
@EqualsAndHashCode | 自动添加equals和hasCode方法 |
@NoArgsConstructor | 自动添加无参构造方法 |
@AllArgsConstructor | 自动添加全属性构造方法,顺序按照属性的定义顺序 |
@NonNull | 属性不能为null |
@RequiredArgsConstructor | 自动添加必须属性的构造方法,final + @NonNull的属性为需 |
组合注解:
注解 | 作用 |
---|---|
@Data | @Getter+@Setter+EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor |
日志注解
注解 | 作用 |
---|---|
@Slf4j | 添加一个名为log的对象 |
Das obige ist der detaillierte Inhalt vonSo erhalten Sie Zugriff auf SpringBoot-Protokolldateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!