我已经阅读了有关python日志记录的多个教程和HOWTO,但仍然无法弄清楚为什么我的日志文件没有被创建(或者它被创建的地方)。
如果我从windows命令提示符运行我的python源代码(" python myfile.py"),则会在与我的脚本相同的目录中创建日志文件。
但是......通过C ++ CreateProcess调用运行我的脚本:
STARTUPINFO si;
PROCESS_INFORMATION pi;
GetStartupInfo(&si);
TCHAR szCmdLine[] = "\"C:\\python27\\python.exe\" C:\\code\\myfile.py";
if (!CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE, NULL, NULL, NULL, &si, &pi))
我的C ++应用程序启动并弹出一个命令窗口,显示运行我的python代码的进程的输出。命令窗口显示我添加的日志(流式传输到命令窗口),但我找不到任何明显创建的日志文件。我不确定它是否是我的代码中的Windows路径问题或其他模块劫持记录器文件输出。 python27目录,我的代码目录或运行我的C ++ exe的目录中没有日志文件。
我使用以下命令在我的python源文件的最顶部创建了记录器实例:
import logging
myLogger = logging.getLogger('myLogger')
myLogger.setLevel(logging.INFO)
fh = logging.FileHandler('myLog.log')
fh.setLevel(logging.INFO)
myLogger.addHandler(fh)
稍后在源中拨打电话:
myLogger.warning('myfile process started %f', time.clock())
我缺少什么想法?拜托,谢谢你。