Python Forum
python logger help ... save logger into different folder
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
python logger help ... save logger into different folder
#1
Hi Team,

I am using below code for logger.
Created logger function. and calling that function its working.


I want to save logger file into different folder.
my below code saves logger file into same folder.

is there any improvement possible in existing code.




import logging
def get_custom_logger(level,fname,logger_name,mode_type):
    logger = logging.getLogger(logger_name)
    logger.setLevel(level)
    fileHandler = logging.FileHandler(f'{fname}', mode=mode_type)
    fileHandler.setLevel(level)
    formatter = logging.Formatter(
    '%(asctime)s:%(levelname)s:%(name)s:%(message)s',
    datefmt = '%d/%m/%Y %I:%M:%S %p')
    fileHandler.setFormatter(formatter)
    logger.addHandler(fileHandler)
    return logger



Calling function
import logging
logger = get_custom_logger(logging.DEBUG,"test.log",'table1',"w")
logger.warning('new warning message from test module')
logger.warning('info message from test module')
logger.warning('new warning message from test module')


Output :- 
25/10/2022 06:30:17 PM:WARNING:table1:new warning message from test module
25/10/2022 06:30:17 PM:INFO:table1:info message from test module
25/10/2022 06:30:17 PM:WARNING:table1:new warning message from test module
Reply
#2
Just give path to folder you want to save to.
logging.FileHandler('G:/div_code/web_env/logg.log', mode=mode_type)
Your f-string dos nothing on line 5.
fileHandler = logging.FileHandler(f'{fname}', mode=mode_type)
# Same 
fileHandler = logging.FileHandler(fname, mode=mode_type)
Can make Path with f-string eg like this.
>>> fname = 'logg.log'
>>> folder_path = 'G:/div_code/web_env/'
>>> f'{path}{fname}'
'G:/div_code/web_env/logg.log'
I would adivice to use loguru ,then all the ugly boilerplate code is gone.
from loguru import logger

logger.remove() # Only log info to file
logger.add(r"G:\div_code\web_env\error.log", rotation="2 day")

@logger.catch
def foo():
    return 1 / 0

foo()
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Question How to add Python folder in Windows Registry ? Touktouk 1 272 Feb-20-2024, 01:04 PM
Last Post: DeaD_EyE
  Compare folder A and subfolder B and display files that are in folder A but not in su Melcu54 3 552 Jan-05-2024, 05:16 PM
Last Post: Pedroski55
  how to save to multiple locations during save cubangt 1 556 Oct-23-2023, 10:16 PM
Last Post: deanhystad
  logger behaviour setdetnet 1 893 Apr-15-2023, 05:20 AM
Last Post: Gribouillis
  how to write exception error into logger mg24 3 986 Nov-15-2022, 04:20 PM
Last Post: insharazzak
  python insert blank line in logger mg24 1 2,848 Nov-02-2022, 08:36 AM
Last Post: snippsat
  python gzip all files from a folder mg24 3 4,025 Oct-28-2022, 03:59 PM
Last Post: mg24
  Make a python folder .exe Extra 0 1,032 Jun-10-2022, 01:20 AM
Last Post: Extra
  Closing logger from other function problem Paqqno 1 1,123 Apr-25-2022, 11:49 AM
Last Post: Gribouillis
  Closing logger to rename directory malcoverc 1 1,209 Apr-19-2022, 07:06 AM
Last Post: Gribouillis

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020