~ci-train-bot/thumbnailer/thumbnailer-ubuntu-yakkety-landing-072

« back to all changes in this revision

Viewing changes to src/trace.cpp

  • Committer: CI Train Bot
  • Author(s): Michi Henning
  • Date: 2015-09-15 11:04:11 UTC
  • mfrom: (125.1.2 landing150915)
  • Revision ID: ci-train-bot@canonical.com-20150915110411-233xw0fljaq7p2o0
Landing changes on devel to trunk.
Approved by: James Henstridge

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
#include <internal/trace.h>
20
20
 
21
 
#include <QDebug>
22
 
 
23
21
#include <chrono>
24
22
#include <mutex>
25
23
 
 
24
using namespace std;
 
25
 
26
26
namespace unity
27
27
{
28
28
 
35
35
namespace
36
36
{
37
37
 
 
38
string prefix;
 
39
 
38
40
void trace_message_handler(QtMsgType type, const QMessageLogContext& /*context*/, const QString& msg)
39
41
{
40
42
    using namespace std;
49
51
    localtime_r(&sys_time, &local_time);
50
52
    int msecs = duration_cast<milliseconds>(now.time_since_epoch()).count() % 1000;
51
53
 
 
54
    if (!prefix.empty())
 
55
    {
 
56
        fprintf(stderr, "%s: ", prefix.c_str());
 
57
    }
52
58
    char buf[100];
53
59
    strftime(buf, sizeof(buf), "%T", &local_time);
54
 
    fprintf(stderr, "thumbnailer-service: [%s.%03d]", buf, msecs);
 
60
    fprintf(stderr, "[%s.%03d]", buf, msecs);
55
61
    switch (type)
56
62
    {
57
63
        case QtWarningMsg:
75
81
    }
76
82
}
77
83
 
78
 
int init_count = 0;
79
 
QtMessageHandler old_message_handler;
80
 
 
81
84
}  // namespace
82
85
 
83
 
TraceMessageHandlerInitializer::TraceMessageHandlerInitializer()
 
86
TraceMessageHandler::TraceMessageHandler(string const& prog_name)
84
87
{
85
 
    if (init_count++ == 0)
86
 
    {
87
 
        old_message_handler = qInstallMessageHandler(trace_message_handler);
88
 
    }
 
88
    prefix = prog_name;
 
89
    old_message_handler_ = qInstallMessageHandler(trace_message_handler);
89
90
}
90
91
 
91
 
TraceMessageHandlerInitializer::~TraceMessageHandlerInitializer()
 
92
TraceMessageHandler::~TraceMessageHandler()
92
93
{
93
 
    if (--init_count == 0)
94
 
    {
95
 
        qInstallMessageHandler(old_message_handler);
96
 
    }
 
94
    qInstallMessageHandler(old_message_handler_);
97
95
}
98
96
 
99
97
}  // namespace internal