FunASR icon indicating copy to clipboard operation
FunASR copied to clipboard

pip insatll funasr 以后,logging 不能正常打印

Open dibaotian opened this issue 1 year ago • 1 comments

Notice: In order to resolve issues more efficiently, please raise issue following the template. (注意:为了更加高效率解决您遇到的问题,请按照模板提问,补充细节)

🐛 Bug

pip insatll funasr 以后,logging 不能正常打印

To Reproduce

1 在虚拟环境中 pip install funasr

运行代码

from funasr import AutoModel

global logger
logging.basicConfig(
    filename='server.log', 
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
)
logger = logging.getLogger(__name__)

print("main")

try:
    print("start")
    logger.info("Starting FunASR processing...")
    # 调用 funasr 的相关功能
except Exception as e:
    print("Exception")
    logger.error("An error occurred: %s", e)

logger.info('Start')
logger.debug('create event')

Expected behavior

观察运行打印,只有print打印出来了,其他logger 打印没有输出

Environment

  • OS (Linux Ubuntu):
  • FunASR Version 1.1.6

dibaotian avatar Aug 25 '24 04:08 dibaotian

遇到同样的bug。

78 avatar Sep 05 '24 13:09 78

遇到同样问题。。

liminsurfing-git avatar Nov 18 '24 02:11 liminsurfing-git

+1,太恐怖了, 网上搜索是因为logging.basicConfig设置过一次后,后面再配置不生效,所以在自己的代码里面添加force=True,logging.basicConfig(level=logging.DEBUG, force=True)

TheHonestBob avatar Nov 25 '24 06:11 TheHonestBob

+1,太恐怖了, 网上搜索是因为logging.basicConfig设置过一次后,后面再配置不生效,所以在自己的代码里面添加force=True,logging.basicConfig(level=logging.DEBUG, force=True)

这是modelscope sdk引入的,我也和他们反馈过多次了,funasr属于躺枪的

LauraGPT avatar Nov 25 '24 06:11 LauraGPT

+1,太恐怖了, 网上搜索是因为logging.basicConfig设置过一次后,后面再配置不生效,所以在自己的代码里面添加force=True,logging.basicConfig(level=logging.DEBUG, force=True)

这是modelscope sdk引入的,我也和他们反馈过多次了,funasr属于躺枪的

我这边尝试是否导入modelscope都能正常打印log,问一下modelscope sdk引入的问题具体是指什么呢?

import logging
import modelscope  # 导入modelscope
from modelscope.utils.logger import get_logger

modelscope_logger = get_logger()  # 默认日志级别为INFO

# 设置基本配置
logging.basicConfig(level=logging.DEBUG, 
                    format='%(asctime)s - %(levelname)s - %(message)s')

# 记录日志
logging.debug("这是调试信息")
logging.info("这是普通信息")
logging.warning("这是警告信息")
logging.error("这是错误信息")
logging.critical("这是严重错误信息")

modelscope_logger.debug("这是调试信息")
modelscope_logger.info("这是普通信息")
modelscope_logger.warning("这是警告信息")
modelscope_logger.error("这是错误信息")
modelscope_logger.critical("这是严重错误信息")
2024-11-25 17:06:20,969 - DEBUG - 这是调试信息
2024-11-25 17:06:20,969 - INFO - 这是普通信息
2024-11-25 17:06:20,969 - WARNING - 这是警告信息
2024-11-25 17:06:20,969 - ERROR - 这是错误信息
2024-11-25 17:06:20,969 - CRITICAL - 这是严重错误信息
2024-11-25 17:06:20,969 - modelscope - INFO - 这是普通信息
2024-11-25 17:06:20,969 - modelscope - WARNING - 这是警告信息
2024-11-25 17:06:20,969 - modelscope - ERROR - 这是错误信息
2024-11-25 17:06:20,969 - modelscope - CRITICAL - 这是严重错误信息

Yunnglin avatar Nov 25 '24 09:11 Yunnglin

此外,请排查一下,是否是因为这行代码导致logging用默认配置初始化了:

https://github.com/modelscope/FunASR/blob/bb6018e753e95232781851fe25e0a558d206d16d/funasr/register.py#L55

自测将其注释掉,下面代码运行正常:

import sys
import funasr

import logging

logging.basicConfig(
    stream=sys.stdout,
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

print("print")
logger.error('logger error')
logger.warning('logger warning')
logger.info('logger info')
logger.debug('logger debug')
print
2024-11-25 17:51:19,944 - __main__ - ERROR - logger error
2024-11-25 17:51:19,944 - __main__ - WARNING - logger warning
2024-11-25 17:51:19,944 - __main__ - INFO - logger info
2024-11-25 17:51:19,944 - __main__ - DEBUG - logger debug

Yunnglin avatar Nov 25 '24 09:11 Yunnglin