Trong các lớp dự án của tôi, tôi đã sử dụng java.util.logging.Logger
và thêm nhiều đầu ra nhật ký khác nhau trong mã của tôi, sử dụng các mức nhật ký khác nhau.Cấp độ ghi nhật ký mức độ đầu ra
src/main/java/Run.java
import java.util.logging.Level;
import java.util.logging.Logger;
public class Run{
public static void main(String args[]){
System.out.println("Hello World");
logger.log(Level.CONFIG, "Just some config info");
Logger logger = Logger.getLogger(Run.class.getName());
logger.log(Level.INFO, "Just logging some info");
logger.log(Level.FINE, "Fine logging");
logger.log(Level.FINER, "Finer logging");
logger.log(Level.WARNING, "This is a warning log!");
}
}
Hiện nay khi tôi chạy gradle -i test
tất cả các tin nhắn đăng nhập với Level.INFO
định nghĩa được trình bày nhưng không ai trong số các cấu hình, cảnh báo hoặc thông điệp tốt là đầu ra.
tôi đã cố gắng cập nhật build.gradle tôi tập tin như vậy:
apply plugin: 'java'
apply plugin:'application'
mainClassName = "Run"
repositories {
mavenCentral()
}
dependencies {
testCompile "junit:junit:4.11"
}
run{
systemProperties = ['java.util.logging.config.file' : 'logging.properties']
}
Tôi đã bao gồm:
systemProperties = ['java.util.logging.config.file' : 'logging.properties']
Sau đó tạo /src/main/tài nguyên/khai thác gỗ. propertiess
handlers= java.util.logging.ConsoleHandler
.level= CONFIG
java.util.logging.ConsoleHandler.level = FINER
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Chạy:
gradle run
tôi nhận được:
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:run
Hello World
BUILD SUCCESSFUL
Và khi chạy gradle -i chạy tôi nhận được: quá trình bắt đầu thành công 'lệnh' /Library/Java/JavaVirtualMachines/jdk1.8.0_20 .jdk/Nội dung/Trang chủ/bin/java '' Hello World : chạy (Chủ đề [chính, 5, chính]) đã hoàn thành. Mất 0,202 giây.
BUILD SUCCESSFUL
ie. không có thông tin đăng nhập. Tuy nhiên ý kiến ra system.properties từ bên trong nhiệm vụ chạy và tái chạy gradle chạy -i tôi nhận được:
Successfully started process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java''
Hello World
Nov 05, 2014 12:07:42 PM Run main
INFO: Just logging some info
Nov 05, 2014 12:07:42 PM Run main
WARNING: This is a warning log!
:run (Thread[main,5,main]) completed. Took 0.229 secs.
BUILD SUCCESSFUL
Thông báo thông tin và mức độ cảnh báo các bản ghi, nhưng không phải là những mỹ hoặc tốt hơn.
tldr;
Làm cách nào để nhận cấu hình, tiền phạt & nhật ký cấp độ mịn hơn để đăng nhập vào bảng điều khiển trong dự án java gradle chung?
Nếu sử dụng SLF4J với logback, lưu ý rằng giao diện 'org.slf4j.Logger' không có phương thức' setLevel'. Nhưng 'ch.qos.logback.classic.Logger' thực hiện giao diện này và có phương thức này. Để tạo ra 'Logger' bạn do đó phải nhập vào lớp thứ hai thay vào đó, và sau đó cast như sau:' Logger LOGGER = (Logger) LoggerFactory.getLogger (MyClass.class) ' –