Python logging module rất cồng kềnh để sử dụng. Có một sự thay thế thanh lịch hơn? Tích hợp với các thông báo trên màn hình sẽ là một điểm cộng.lựa chọn thay thế khai thác python
Trả lời
Bạn có thể xem xét Twiggy, đó là một nỗ lực giai đoạn đầu để xây dựng một giải pháp thay thế pythonic hơn cho mô đun ghi nhật ký.
ha! log -> twig – hoju
Tôi đồng ý! Ha! Đã cho tôi một giây để có được nó. – synthesizerpatel
dường như đã chết ... cam kết cuối cùng đã hơn một năm trước – Tshepang
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
import logging.handlers
from logging.config import dictConfig
logger = logging.getLogger(__name__)
DEFAULT_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
}
def configure_logging(logfile_path):
"""
Initialize logging defaults for Project.
:param logfile_path: logfile used to the logfile
:type logfile_path: string
This function does:
- Assign INFO and DEBUG level to logger file handler and console handler
"""
dictConfig(DEFAULT_LOGGING)
default_formatter = logging.Formatter(
"[%(asctime)s] [%(levelname)s] [%(name)s] [%(funcName)s():%(lineno)s] [PID:%(process)d TID:%(thread)d] %(message)s",
"%d/%m/%Y %H:%M:%S")
file_handler = logging.handlers.RotatingFileHandler(logfile_path, maxBytes=10485760,backupCount=300, encoding='utf-8')
file_handler.setLevel(logging.INFO)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(default_formatter)
console_handler.setFormatter(default_formatter)
logging.root.setLevel(logging.DEBUG)
logging.root.addHandler(file_handler)
logging.root.addHandler(console_handler)
[31/10/2015 22:00:33] [DEBUG] [yourmodulename] [yourfunction_name():9] [PID:61314 TID:140735248744448] this is logger infomation from hello module
bạn có thể cấu hình logfile với giao diện điều khiển và tập tin, tôi không nghĩ rằng máy tính để bàn notication là một ý tưởng tốt, bạn có thể xem các thông tin đăng nhập từ giao diện điều khiển và log
Bạn có thể muốn có một cái nhìn tại pysimplelog. Đó là trăn tinh khiết, rất đơn giản để sử dụng, pip có thể cài đặt và cung cấp những gì bạn cần
from pysimplelog import Logger
L=Logger()
print L
>>> Logger (Version 0.2.1)
>>> log type |log name |level |std flag |file flag |
>>> ----------|----------|----------|----------|----------|
>>> debug |DEBUG |0.0 |True |True |
>>> info |INFO |10.0 |True |True |
>>> warn |WARNING |20.0 |True |True |
>>> error |ERROR |30.0 |True |True |
>>> critical |CRITICAL |100.0 |True |True |
L.info('I am an info')
>>> 2016-09-26 15:01:17 - logger <INFO> I am an info
L.warn('I am a warning')
>>> 2016-09-26 15:01:17 - logger <WARNING> I am a warning
L.error('I am an error')
>>> 2016-09-26 15:01:17 - logger <ERROR> I am an error
và với những thông số này, một tập tin 'simplelog.log' sẽ được tạo ra và được cập nhật tự động cho bạn
+1 Xin chào! Một lưu ý tuy nhiên: Tôi sẽ không khuyên bạn nên sử dụng đăng nhập * bên ngoài của một defintion chức năng * trước khi nó được biết đến [cho dù đó là an toàn] (https://stackoverflow.com/questions/46356672/). –
- 1. Lựa chọn nhà khai thác tham số Autofac
- 2. lựa chọn thay thế webistrano?
- 3. PropertyGrid lựa chọn thay thế
- 4. Lựa chọn thay thế IFrame
- 5. Lựa chọn thay thế XAML
- 6. lựa chọn thay thế JavaScript
- 7. Lựa chọn thay thế cho JUnit
- 8. Lựa chọn thay thế thành viên ASP.NET
- 9. Giám sát khai thác tệp ZIP Python
- 10. Lựa chọn thay thế cho popen/pclose?
- 11. Lựa chọn thay thế cho YQL
- 12. java.util.Vector - các lựa chọn thay thế
- 13. Các lựa chọn thay thế nhị phân
- 14. Các lựa chọn thay thế PHP?
- 15. Lựa chọn thay thế cho Apache Tiles
- 16. Lựa chọn thay thế TestFlight cho Android
- 17. Lựa chọn thay thế cho ppl
- 18. Lựa chọn thay thế cho iframe srcdoc?
- 19. Lựa chọn thay thế cho ArcGIS Server
- 20. Lựa chọn thay thế cho Điều kiện
- 21. Các lựa chọn thay thế MapReduce
- 22. Lựa chọn thay thế tốt cho ASpell?
- 23. Lựa chọn thay thế nhẹ cho NHibernate
- 24. Lựa chọn thay thế cho TOAD (Linux)
- 25. FindWindow và SetForegroundWindow lựa chọn thay thế?
- 26. Lựa chọn thay thế cho window.scrollMaxY?
- 27. Lựa chọn thay thế GUI Java
- 28. Lựa chọn thay thế SQLite cho C++
- 29. Các lựa chọn thay thế cho java.util.Date
- 30. Lựa chọn thay thế cho mẫu C++?
Trông hứa hẹn: http : //packages.python.org/Logbook – hoju
Theo cách nào bạn thấy mô-đun đăng nhập trở nên cồng kềnh? Những gì bạn thấy thiếu khả năng của mình? –
bạn đã sử dụng nó chưa? Nó không phải là pythonic. – hoju