【发布时间】:2012-08-19 15:34:03
【问题描述】:
我用 C++ 编写了一个 python 模块。一切正常,但现在我想添加日志记录。我的记录器类(第 3 方)需要类似于以下内容的初始化:
int main()
{
Logger logger("log.log");
Logger::Register(&logger);
DoSomethingAndLog();
return 0;
}
如您所见,logger 在程序初始化时创建,在程序终止时销毁。
我应该在哪里创建 Logger 对象,以便在加载模块时构建它并在卸载模块时销毁它?
【问题讨论】:
-
使用全局变量的明显方法怎么样?它们在 python 模块中的行为是否与通常的 DLL 或 EXE 不同?
-
@Mikhail,我想它会起作用的。我希望有更优雅的解决方案。如果不是,则为全局。
标签: c++ python cython boost-python