WIP Python script to replace the print_msg stuff in .shell-functions
This commit is contained in:
		
							parent
							
								
									7a42f696ef
								
							
						
					
					
						commit
						c7b614da8f
					
				
					 1 changed files with 50 additions and 0 deletions
				
			
		
							
								
								
									
										50
									
								
								bin/shell-log
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								bin/shell-log
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
#!/usr/bin/env python3
 | 
			
		||||
# Eryn Wells <eryn@erynwells.me>
 | 
			
		||||
'''
 | 
			
		||||
Logging for my shells.
 | 
			
		||||
'''
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import logging
 | 
			
		||||
import os.path
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
LOGFILE = os.path.expanduser('~/.shell.log')
 | 
			
		||||
 | 
			
		||||
def parse_args():
 | 
			
		||||
    parser = argparse.ArgumentParser()
 | 
			
		||||
    parser.add_argument('-b', '--bold', action='store_true')
 | 
			
		||||
    parser.add_argument('-f', '--file', default=LOGFILE)
 | 
			
		||||
    parser.add_argument('-l', '--level', type=int, default=0)
 | 
			
		||||
    parser.add_argument('-n', '--noeol', action='store_true')
 | 
			
		||||
    parser.add_argument('msg')
 | 
			
		||||
    parser.add_argument('args', nargs=argparse.REMAINDER)
 | 
			
		||||
    args = parser.parse_args()
 | 
			
		||||
    return args
 | 
			
		||||
 | 
			
		||||
def logger(args):
 | 
			
		||||
    logger = logging.getLogger('')
 | 
			
		||||
 | 
			
		||||
    stdout_handler = logging.StreamHandler()
 | 
			
		||||
    # TODO: Set formatter correctly.
 | 
			
		||||
    logger.addHandler(stdout_handler)
 | 
			
		||||
 | 
			
		||||
    file_handler = logging.FileHandler(args.file)
 | 
			
		||||
    logger.addHandler(file_handler)
 | 
			
		||||
 | 
			
		||||
    return logger
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    # Set up.
 | 
			
		||||
    args = parse_args()
 | 
			
		||||
    log = logger()
 | 
			
		||||
    
 | 
			
		||||
    # Set the level from the shell.
 | 
			
		||||
    level = sys.environ.get('NOISY', logging.INFO)
 | 
			
		||||
    log.setLevel(level)
 | 
			
		||||
 | 
			
		||||
    # Log it.
 | 
			
		||||
    log.log(args.level, args.msg, *args.args)
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main()
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue