Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
05fb78e5
A
anbox
项目概览
openeuler
/
anbox
通知
24
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
anbox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
05fb78e5
编写于
8月 22, 2017
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
logger: use syslog for output when we don't have a controlling tty
上级
579d2886
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
4 deletion
+20
-4
src/anbox/logger.cpp
src/anbox/logger.cpp
+20
-4
未找到文件。
src/anbox/logger.cpp
浏览文件 @
05fb78e5
...
...
@@ -25,12 +25,14 @@
#include <boost/log/trivial.hpp>
#include <boost/log/utility/manipulators.hpp>
#include <boost/log/utility/setup.hpp>
#define BOOST_LOG_USE_NATIVE_SYSLOG
#include <boost/log/sinks/syslog_backend.hpp>
#include "anbox/logger.h"
namespace
{
namespace
attrs
{
BOOST_LOG_ATTRIBUTE_KEYWORD
(
Severity
,
"
anbox::
Severity"
,
anbox
::
Logger
::
Severity
)
BOOST_LOG_ATTRIBUTE_KEYWORD
(
Severity
,
"Severity"
,
anbox
::
Logger
::
Severity
)
BOOST_LOG_ATTRIBUTE_KEYWORD
(
Location
,
"Location"
,
anbox
::
Logger
::
Location
)
BOOST_LOG_ATTRIBUTE_KEYWORD
(
Timestamp
,
"Timestamp"
,
boost
::
posix_time
::
ptime
)
}
...
...
@@ -39,7 +41,8 @@ struct BoostLogLogger : public anbox::Logger {
BoostLogLogger
()
:
initialized_
(
false
)
{}
void
Init
(
const
anbox
::
Logger
::
Severity
&
severity
=
anbox
::
Logger
::
Severity
::
kWarning
)
override
{
if
(
initialized_
)
return
;
if
(
initialized_
)
return
;
boost
::
log
::
formatter
formatter
=
boost
::
log
::
expressions
::
stream
...
...
@@ -53,8 +56,21 @@ struct BoostLogLogger : public anbox::Logger {
<<
boost
::
log
::
expressions
::
smessage
;
boost
::
log
::
core
::
get
()
->
remove_all_sinks
();
auto
logger
=
boost
::
log
::
add_console_log
(
std
::
cout
);
logger
->
set_formatter
(
formatter
);
// If we have a controlling tty then we use the console for log outpu
// and otherwise we move everything into the system syslog.
if
(
isatty
(
0
))
{
auto
logger
=
boost
::
log
::
add_console_log
(
std
::
cout
);
logger
->
set_formatter
(
formatter
);
}
else
{
boost
::
shared_ptr
<
boost
::
log
::
sinks
::
syslog_backend
>
backend
(
new
boost
::
log
::
sinks
::
syslog_backend
(
boost
::
log
::
keywords
::
facility
=
boost
::
log
::
sinks
::
syslog
::
user
,
boost
::
log
::
keywords
::
use_impl
=
boost
::
log
::
sinks
::
syslog
::
native
));
backend
->
set_severity_mapper
(
boost
::
log
::
sinks
::
syslog
::
direct_severity_mapping
<
int
>
(
"Severity"
));
boost
::
log
::
core
::
get
()
->
add_sink
(
boost
::
make_shared
<
boost
::
log
::
sinks
::
synchronous_sink
<
boost
::
log
::
sinks
::
syslog_backend
>>
(
backend
));
}
severity_
=
severity
;
initialized_
=
true
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录