summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/OSLogLoggerI.h
blob: 16da911d5bf81fc3bf6d3b16ab814608da76ee3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//

#ifndef ICE_OSLOG_LOGGER_I_H
#define ICE_OSLOG_LOGGER_I_H

#ifdef ICE_SWIFT

#include <Ice/Logger.h>
#include <Ice/UniqueRef.h>
#include <os/log.h>

namespace Ice
{

class OSLogLoggerI : public Logger
{
public:

    OSLogLoggerI(const std::string&);

    virtual void print(const std::string&);
    virtual void trace(const std::string&, const std::string&);
    virtual void warning(const std::string&);
    virtual void error(const std::string&);
    virtual std::string getPrefix();
    virtual LoggerPtr cloneWithPrefix(const std::string&);

private:

    const std::string _prefix;
    IceInternal::UniqueRef<os_log_t> _log;
};

}

#endif

#endif