Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Boost log不';t写入文件,如何?_C++_Logging_Boost_Boost Log_Boost Logging - Fatal编程技术网

C++ Boost log不';t写入文件,如何?

C++ Boost log不';t写入文件,如何?,c++,logging,boost,boost-log,boost-logging,C++,Logging,Boost,Boost Log,Boost Logging,这是我的密码: #include <boost/log/trivial.hpp> #include <boost/move/utility.hpp> #include <boost/log/sources/logger.hpp> #include <boost/log/sources/record_ostream.hpp> #include <boost/log/sources/global_logger_storage.hpp> #i

这是我的密码:

#include <boost/log/trivial.hpp>
#include <boost/move/utility.hpp>
#include <boost/log/sources/logger.hpp>
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/sources/global_logger_storage.hpp>
#include <boost/log/utility/setup/file.hpp>
#include <boost/log/utility/setup/common_attributes.hpp>

namespace logging = boost::log;
namespace src = boost::log::sources;
namespace keywords = boost::log::keywords;

BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT(my_logger, src::logger_mt)

void Foo::Some()
{
  std::cout << "TEST";

  src::logger_mt& lg = my_logger::get();

  logging::add_file_log("F:\\sample.log");
  //logging::core::get()->set_filter
  //  (
  //  logging::trivial::severity >= logging::trivial::info
  //  );
  logging::add_common_attributes();

  BOOST_LOG(lg) << "Greetings from the global logger!";
#包括
#包括
#包括
#包括
#包括
#包括
#包括
名称空间日志=boost::log;
名称空间src=boost::log::sources;
名称空间关键字=boost::log::关键字;
BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT(my_LOGGER,src::LOGGER_mt)
void Foo::Some()
{
标准::无法设置过滤器
//  (
//日志::平凡::严重性>=日志::平凡::信息
//  );
日志记录::添加公共属性();
BOOST_LOG(lg)在处理转义序列时,文件路径
“F:\sample.LOG”
可能等效于
“F:sample.LOG”
。(这是根据2.14.3字符文本定义的实现)
在Windows中的文件名中不可用。
您的意思是当转义序列得到处理时,文件路径
“F:\sample.log”
可能等同于
“F:sample.log”
(这是根据2.14.3字符文本定义的实现)
在Windows中的文件名中不可用。

您的意思是
“F:\\sample.log”

问题是您的记录器没有严重性属性。它不会在日志记录中生成严重性值,因此您设置的筛选器总是拒绝记录


在您链接的文档中的示例中,您可以看到
severity\u logger
BOOST\u LOG\u SEV
用于记录(请参阅文档)。
severity\u logger
logger具有模板参数中指定类型的severity属性,而
BOOST\u LOG\u SEV
宏为每个日志记录提供严重性值。请注意,属性值的类型(严重性级别)必须匹配筛选器和格式化程序(如果已安装)。您设置的筛选器中的
logging::trial::severity
关键字意味着严重性级别应具有类型
boost::log::trial::severity_level

。问题是您的记录器没有严重性属性。它不会生成严重性日志记录中的值,因此设置的筛选器始终拒绝记录


在您链接的文档中的示例中,您可以看到
severity\u logger
BOOST\u LOG\u SEV
用于记录(请参阅文档)。
severity\u logger
logger具有模板参数中指定类型的severity属性,而
BOOST\u LOG\u SEV
宏为每个日志记录提供严重性值。请注意,属性值的类型(严重性级别)必须匹配筛选器和格式化程序(如果安装了)。您设置的筛选器中的
logging::trial::severity
关键字意味着严重性级别应具有类型
boost::log::trial::severity\u level

谢谢,当然,但这是我的打字错误,我尝过`\`的滋味,工作流程也一样,我刚刚测试过“sample.log”之前和之后都没有做任何事情汉克肯定,但这是我的打字错误,我尝过`\\`的味道,工作流程也一样,我只测试了“sample.log”这是你的全部代码吗?请发布一个。@robert是的,如果你将Foo::Some重命名为main并添加右括号…没有其他内容。这是你的全部代码吗?请发布一个。@robert是的,如果你将Foo::Some重命名为main并添加右括号…没有其他内容。谢谢,这里就是这样,奇怪它只会导致文件谢谢,这里就是这样,奇怪的是它只会导致文件