moonraker: add --nologfile (-n) option to the command line

This allows moonraker to run without generating a log file.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
Arksine 2020-12-31 20:42:40 -05:00
parent 933622adda
commit 2f8a1567a8
3 changed files with 21 additions and 9 deletions

View File

@ -131,7 +131,8 @@ class MoonrakerApp:
# Register handlers # Register handlers
logfile = config['system_args'].get('logfile') logfile = config['system_args'].get('logfile')
self.register_static_file_handler("moonraker.log", logfile) if logfile:
self.register_static_file_handler("moonraker.log", logfile)
self.register_static_file_handler( self.register_static_file_handler(
"klippy.log", DEFAULT_KLIPPY_LOG_PATH) "klippy.log", DEFAULT_KLIPPY_LOG_PATH)
self.auth.register_handlers(self) self.auth.register_handlers(self)

View File

@ -551,11 +551,18 @@ def main():
parser.add_argument( parser.add_argument(
"-l", "--logfile", default="/tmp/moonraker.log", metavar='<logfile>', "-l", "--logfile", default="/tmp/moonraker.log", metavar='<logfile>',
help="log file name and location") help="log file name and location")
parser.add_argument(
"-n", "--nologfile", action='store_true',
help="disable logging to a file")
system_args = parser.parse_args() system_args = parser.parse_args()
# Setup Logging # Setup Logging
version = utils.get_software_version() version = utils.get_software_version()
log_file = os.path.normpath(os.path.expanduser(system_args.logfile)) if system_args.nologfile:
log_file = ""
else:
log_file = os.path.normpath(os.path.expanduser(
system_args.logfile))
system_args.logfile = log_file system_args.logfile = log_file
system_args.software_version = version system_args.software_version = version
ql = utils.setup_logging(log_file, version) ql = utils.setup_logging(log_file, version)

View File

@ -74,16 +74,20 @@ def setup_logging(log_file, software_version):
queue_handler = LocalQueueHandler(queue) queue_handler = LocalQueueHandler(queue)
root_logger.addHandler(queue_handler) root_logger.addHandler(queue_handler)
root_logger.setLevel(logging.INFO) root_logger.setLevel(logging.INFO)
file_hdlr = MoonrakerLoggingHandler(
software_version, log_file, when='midnight', backupCount=2)
stdout_hdlr = logging.StreamHandler(sys.stdout) stdout_hdlr = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter(
'%(asctime)s [%(filename)s:%(funcName)s()] - %(message)s')
file_hdlr.setFormatter(formatter)
stdout_fmt = logging.Formatter( stdout_fmt = logging.Formatter(
'[%(filename)s:%(funcName)s()] - %(message)s') '[%(filename)s:%(funcName)s()] - %(message)s')
stdout_hdlr.setFormatter(stdout_fmt) stdout_hdlr.setFormatter(stdout_fmt)
listener = logging.handlers.QueueListener( if log_file:
queue, file_hdlr, stdout_hdlr) file_hdlr = MoonrakerLoggingHandler(
software_version, log_file, when='midnight', backupCount=2)
formatter = logging.Formatter(
'%(asctime)s [%(filename)s:%(funcName)s()] - %(message)s')
file_hdlr.setFormatter(formatter)
listener = logging.handlers.QueueListener(
queue, file_hdlr, stdout_hdlr)
else:
listener = logging.handlers.QueueListener(
queue, stdout_hdlr)
listener.start() listener.start()
return listener return listener