Khi sử dụng sbt với forking (fork in run := true
), mọi đầu ra từ ứng dụng của tôi tới giá trị stdout được bắt đầu bằng [info]
; đầu ra cho stderr được bắt đầu bằng [error]
.sbt: ngăn chặn tiền tố đăng nhập trong stdout
Hành vi này hơi khó chịu khi sử dụng khung ghi nhật ký Java, kết quả đầu ra cho tiêu chuẩn. Thông báo gỡ lỗi kết quả thường trông giống như sau:
[error] [main] INFO MyClass ...
[error] [main] DEBUG MyClass ...
Tôi muốn loại bỏ các tiền tố này khi chạy mã mà không cần cố định. Những gì tôi đã thử:
- đặt
sbt -Dsbt.log.noformat=true
trong tập lệnh khởi chạy sbt. Nhưng điều này chỉ loại bỏ đầu ra ANSI màu; tiền tố vẫn ở đó mà không có màu - cài đặt
logLevel in run := Level.Error
trongbuild.sbt
. Điều này dường như không có bất kỳ ảnh hưởng nào đối với việc đăng nhập bằng việc giả mạo.
Có cách nào để chặn tiền tố không?
tôi tò mò về vấn đề này quá. – Andy
Tìm thấy nó! Tôi đã theo dõi nguồn gốc về cách SBT khởi chạy các quy trình: https://github.com/sbt/sbt/blob/0.13/run/src/main/scala/sbt/Fork.scala. Và sau đó tôi chỉ đơn giản là tìm kiếm một số từ khóa từ tập tin đó. – Andy