Cách thành ngữ để thực hiện đăng nhập là gì?Cách triển khai ghi nhật ký thành ngữ trong thư viện Go?
Trả lời
Tạo tệp khai báo biến toàn cục nhật ký. Sau đó, sử dụng hàm init() thành ngữ của Go để khởi tạo biến khi khởi động.
logger.go:
package xxx
import (
"log"
"os"
)
var logger *log.Logger
func init() {
logger = log.New(os.Stderr, "xxx: ", log.Ldate | log.Ltime | log.Lshortfile)
}
example.go:
func test() {
logger.Println("Logged")
}
Phương pháp này cung cấp những lợi ích mà bạn có thể sử dụng thực hiện logger duy nhất có thể được cấu hình từ một đơn tập tin.
EDIT: ThomasKappler đã chỉ ra rằng nếu bạn chỉ sử dụng một trình ghi nhật ký toàn cục, bạn có thể sử dụng trình ghi nhật ký sẵn có của gói nhật ký và định cấu hình nó bằng SetFlags. Sự khác biệt duy nhất là bạn phải rõ ràng hơn và nhập gói nhật ký.
Nếu bạn chỉ sử dụng một trình ghi nhật ký toàn cục, bạn có thể bỏ qua việc tạo nhật ký của riêng mình và sử dụng các chức năng của gói nhật ký như log.Println v.v. Bạn vẫn có thể cấu hình nó bằng log.SetFlags(). –
@ThomasKappler Cảm ơn, tôi không biết điều đó. Tôi thích sử dụng phương pháp này bởi vì tôi có thể mở rộng logger mà không phá vỡ chức năng hiện có (cộng với tôi không phải nhập gói nhật ký ở mọi nơi) – liamzebedee
- 1. Triển khai Thư viện nguồn mở: Cách xử lý ghi nhật ký?
- 2. Thư viện ghi nhật ký C
- 3. Thư viện ma trận Go
- 4. Trình ghi nhật ký cho thư viện Java
- 5. Thư viện ghi nhật ký tốt hơn cho C++
- 6. Thư viện doanh nghiệp: Ghi nhật ký khối và email
- 7. Thư viện ghi nhật ký nào tốt hơn?
- 8. Ghi nhật ký thư viện cho Erlang/OTP
- 9. Trải nghiệm sử dụng thư viện ghi nhật ký Boost.Log?
- 10. thư viện git cho Go
- 11. mỗi triển khai trong thư viện underscore.js
- 12. Giữ nhật ký triển khai capistrano
- 13. Maven: Làm cách nào để ngăn plugin triển khai ghi nhật ký tải lên?
- 14. Thư viện được chia sẻ trong Go?
- 15. Cách triển khai Mẫu chiến lược trong Go?
- 16. Ghi nhật ký thư từ C++ sang Java
- 17. Cách triển khai Nhật ký Lỗi trong ứng dụng Windows Phone?
- 18. Ghi nhật ký Java - cách chuyển hướng đầu ra sang tệp nhật ký tùy chỉnh cho trình ghi nhật ký?
- 19. chương trình đa tệp C, cách tốt nhất để triển khai ghi nhật ký tùy chọn?
- 20. Thêm hỗ trợ ghi nhật ký chung trong thư viện được chia sẻ C++
- 21. Cách triển khai ContentObserver cho nhật ký cuộc gọi
- 22. Ghi nhật ký trong chế độ PHÁT TRIỂN Rails?
- 23. Các chiến lược để ghi nhật ký ứng dụng từ mã thư viện?
- 24. Ghi nhật ký sản xuất trong Flex
- 25. Thư viện bên ngoài để triển khai con la
- 26. Đặt mức ghi nhật ký trong Hadoop thành WARN
- 27. Ứng dụng Ghi nhật ký Thư viện Doanh nghiệp Microsoft 5.0 có an toàn không?
- 28. Ghi nhật ký an toàn
- 29. Làm cách nào để các ngôn ngữ khác nhau triển khai sắp xếp trong thư viện chuẩn của họ?
- 30. Các ngoại lệ chưa được xử lý trong Thư viện lớp C# cho mục đích ghi nhật ký
Có rất nhiều thư viện của bên thứ ba cung cấp nhiều tính năng triển khai đầy đủ hơn. Ví dụ, trong thư viện chuẩn, tôi đã bỏ lỡ một tùy chọn thuận tiện cho các định dạng tùy chỉnh và mức nhật ký (gỡ lỗi, thông tin, ...) và tôi sẽ thực hiện thư viện riêng của mình - [go-log] (https://github.com/scale) -it/go-log). Hãy nhìn vào nó. –