Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit b61e0c5

Browse files
author
Michael Smith
committed
Improved logging capability
1 parent 67f4bb4 commit b61e0c5

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

applications/multisite/intersite.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import re
44
import threading
55
import logging
6+
from logging.handlers import RotatingFileHandler
67
import cmd
78
import sys
89
import socket
@@ -1188,6 +1189,7 @@ def complete_debug(self, text, line, begidx, endidx):
11881189
def parse_args():
11891190
parser = argparse.ArgumentParser(description='ACI Multisite Tool')
11901191
parser.add_argument('--config', default=None, help='Configuration file')
1192+
parser.add_argument('--maxlogfiles', type=int, default=10, help='Maximum number of log files (default is 10)')
11911193
parser.add_argument('--generateconfig', action='store_true', default=False,
11921194
help='Generate an empty example configuration file')
11931195
parser.add_argument('--debug', nargs='?',
@@ -1197,6 +1199,7 @@ def parse_args():
11971199
args = parser.parse_args()
11981200
return args
11991201

1202+
12001203
def main():
12011204
"""
12021205
Main execution routine
@@ -1205,7 +1208,9 @@ def main():
12051208
"""
12061209
execute_tool(parse_args())
12071210

1211+
12081212
def execute_tool(args, test_mode=False):
1213+
# Set up the logging infrastructure
12091214
if args.debug is not None:
12101215
if args.debug == 'verbose':
12111216
level = logging.DEBUG
@@ -1215,9 +1220,16 @@ def execute_tool(args, test_mode=False):
12151220
level = logging.CRITICAL
12161221
else:
12171222
level = logging.CRITICAL
1218-
logging.basicConfig(format='%(filename)s:%(message)s')
1223+
log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')
1224+
log_file = 'intersite.log'
1225+
my_handler = RotatingFileHandler(log_file, mode='a', maxBytes=5*1024*1024,
1226+
backupCount=args.maxlogfiles, encoding=None, delay=0)
1227+
my_handler.setFormatter(log_formatter)
1228+
my_handler.setLevel(level)
1229+
logging.getLogger().addHandler(my_handler)
12191230
logging.getLogger().setLevel(logging.DEBUG)
12201231

1232+
# Handle generating sample configuration
12211233
if args.generateconfig:
12221234
config = {'config': [
12231235
{'site': {'name': '',

0 commit comments

Comments
 (0)