我是一个椭圆 发表于 2022-5-23 22:51:57

说不清楚,展开看吧,代码不到30行

首先我定义一个类:
import logging

class Logger():
    def __init__(self, logfile='output.log'):
      self.logfile = logfile
      self.logger = logging.getLogger(__name__)
      logging.basicConfig(
            format='[%(asctime)s] - %(message)s',
            datefmt='%Y_%m_%d %H:%M:%S',
            level=logging.INFO,
            filename=self.logfile
      )

    def info(self, msg, *args):
      msg = str(msg)
      if args:
            print(msg % args)
            self.logger.info(msg, *args)
      else:
            print(msg)
            self.logger.info(msg)

然后我在下面的代码中使用了上面这个类:
import Logger

for foo in range(0, 10):
    file_name = "./out/" + str(foo) + ".log"
    logger = Logger(file_name)
    logger.info(str(foo))

我期望的是得到名字为0~9共10个.log文件,并且每个文件中的内容就是名字本身,比如:
“5.log”文件中是“ - 5”
“6.log”文件中是“ - 6”


然而上述代码运行后却得到只有一个“0.log”文件,其中内容为:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9


请问我要如何解决该问题?

suchocolate 发表于 2022-5-25 10:09:37

你自己解决了,Cool!

西瓜味的苹果 发表于 2022-5-30 17:02:32

看不懂,你写的代码太厉害了
页: [1]
查看完整版本: 说不清楚,展开看吧,代码不到30行