Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.01.2023
Сообщений: 15

Логирование в функциях

18.01.2023, 23:25. Показов 834. Ответов 2

Студворк — интернет-сервис помощи студентам
Так-с, значит решил я разобраться как логирование в пайтон реализовано.

Тестил по всякому и пришёл значит-с к такой конструкции:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import logging
 
def func1():
    logging.basicConfig(filename='func1.log', encoding='utf-8', level=logging.INFO)
    logging.info('Function 1: TEST1!')
 
def func2():
    logging.basicConfig(filename='func2.log', encoding='utf-8', level=logging.INFO)
    logging.info('Function 2: TEST2!')
 
def main():
    func1()
    func2()
 
if __name__ == '__main__':
    main()
Логи пишутся только в "func1.log", почему так происходит?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2023, 23:25
Ответы с готовыми решениями:

Обязателен ли return в функциях типа void? Нужен ли он в нерекурсивных функциях?
Вот код в STM32 CUBEIDE. Изначально разработчик не писал строчку return, но меня учили что она обязательна. Есть ли разница в данном...

Логирование
Добрый день. есть ф-ция которая пишел лог файл на диск, когда запускается программа. Как сделать чтобы файл с логом перезаписывался когда...

[SlackWare] Логирование ФС
Здравствуйте. Подскажите, пожалуйста, как можно отследить все изменения ФС (копирование, создание, удаление файлов), и записывать эти...

2
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
19.01.2023, 00:58
Лучший ответ Сообщение было отмечено thegoldenspam как решение

Решение

Python
1
logging.basicConfig(filename='func2.log', encoding='utf-8', level=logging.INFO, force = True)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
21.01.2023, 09:47
Ну если прям нужно два лога:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
log = logging.getLogger('simple_example')
log.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
log.addHandler(ch)
 
log2 = logging.getLogger('simple_example')
log2.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
log2.addHandler(ch)
 
def func1():
    log.info('Function 1: TEST1!')
 
def func2():
    log2.info('Function 2: TEST2!')
Хотя обычно делают один лог, а потом его грепают (grep) по необходимости (например, по уровню логирования или имени функции).

Добавлено через 2 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import logging
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
 
 
def setup_logger(name, log_file, level=logging.INFO):
    """To setup as many loggers as you want"""
 
    handler = logging.FileHandler(log_file)        
    handler.setFormatter(formatter)
 
    logger = logging.getLogger(name)
    logger.setLevel(level)
    logger.addHandler(handler)
 
    return logger
 
# first file logger
logger = setup_logger('first_logger', 'first_logfile.log')
logger.info('This is just info message')
 
# second file logger
super_logger = setup_logger('second_logger', 'second_logfile.log')
super_logger.error('This is an error message')
 
def another_method():
   # using logger defined above also works here
   logger.info('Inside method')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2023, 09:47
Помогаю со студенческими работами здесь

Логирование
Всем привет! Есть потребность вести лог того что происходит с программой. Сначала я решил по старой памяти (писал на с++) просто создать...

Логирование
Добрый день! Что означает запись в консоли следующего вида String { apple: 'Apple', __proto__: 'test' }? Почему объект выводиться...

Логирование
Хочу написать ф-ию делающую следующее, только опыта маловато, хочу посоветоваться как лучше сделать. Call MyFunction...

Логирование
Всем привет, решил ознакомиться с таким понятием как логирование, в качестве материала взял эту статью: ...

Логирование и #if
Здравствуйте. Возникла ситуация: Код у меня работает как надо, а у клиента падает. Обращаюсь за советом к своему руководителю. Он отписал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru