Tôi không thể tìm lại thư viện cho phép định dạng các câu lệnh xuất nhật ký theo cách đẹp hơn những gì thường thấy. Một trong những tính năng tôi nhớ là nó có thể 'bù đắp' thông điệp tường trình tùy thuộc vào 'nestedness' của nơi mà các báo cáo đăng nhập đã xảy ra.Java: thư viện có kết quả đầu ra nhật ký được định dạng đẹp
Đó là, thay vì điều này:
DEBUG | DefaultBeanDefinitionDocumentReader.java| 86 | Loading bean definitions
DEBUG | AbstractAutowireCapableBeanFactory.java| 411 | Finished creating instance of bean 'MS-SQL'
DEBUG | DefaultSingletonBeanRegistry.java| 213 | Creating shared instance of singleton bean 'MySQL'
DEBUG | AutowireCapableBeanFactory.java| 383 | Creating instance of bean 'MySQL'
DEBUG | AutowireCapableBeanFactory.java| 459 | Eagerly caching bean 'MySQL' to allow for resolving potential circular references
DEBUG | AutowireCapableBeanFactory.java| 789 | Another debug message
Nó sẽ cho thấy một cái gì đó như thế này:
DEBUG | DefaultBeanDefinitionDocumentReader.java| 86 | Loading bean definitions
DEBUG | AbstractAutowireCapableBeanFactory.java | 411 | Finished creating instance of bean 'MS-SQL'
DEBUG | DefaultSingletonBeanRegistry.java | 213 | Creating shared instance of singleton bean 'MySQL'
DEBUG | AutowireCapableBeanFactory.java | 383 | Creating instance of bean 'MySQL'
DEBUG | AutowireCapableBeanFactory.java | 459 | |__ Eagerly caching bean 'MySQL' to allow for resolving potential circular references
DEBUG | AutowireCapableBeanFactory.java | 789 | |__ Another debug message
Đây là một ví dụ tôi chỉ cần thực hiện lên (VeryLongCamelCaseClassNamesNotMine). Nhưng tôi nhớ đã thấy đầu ra nhật ký được định dạng rõ ràng và chúng thực sự đẹp hơn bất cứ thứ gì tôi đã thấy trước đây, và ngoài việc đơn giản hơn, chúng cũng dễ đọc hơn khi chúng tái tạo một số tổ chức hợp lý của mã.
Tuy nhiên, tôi không thể tìm thấy thư viện đó nữa.
Tôi khá chắc chắn rằng nó hoàn toàn tương thích với log4j hoặc sl4j.
Các bạn đã nhìn PatternLayout log4j không? Có vẻ như nó bao gồm các định dạng mà bạn muốn http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html – marklai
@marklai: +1 nhận xét của bạn, điều thú vị là dường như nó có thể hoạt động, nhưng tôi thực sự sau khi một thư viện/API tồn tại (đối với Java) nhưng tôi chỉ đơn giản là không thể tìm thấy nữa. Và nó có nghĩa là "logging theo indent level" thinggamagic. Tôi đang thử snap.com trong chế độ trực quan để tìm lại trang web của dự án nhưng chỉ đơn giản là không thể tìm thấy nó: ( – SyntaxT3rr0r
Không chắc chắn thư viện là gì, nhưng bạn có lẽ nên xem cho một hit hiệu suất. Nếu thư viện indents stuff by itse Nếu có, nó có thể sử dụng ngăn xếp để có thể tính toán độ sâu của nó. Vấn đề là để có được ngăn xếp, nó phải ném một ngoại lệ, bắt nó và nhận được dấu vết ngăn xếp từ đó. Đây có lẽ là cách log4j xuất ra tên phương thức được gọi và nó cảnh báo về các vấn đề hiệu năng nghiêm trọng (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html). –