File: main.cxx

package info (click to toggle)
log4cplus 2.0.8-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,592 kB
  • sloc: cpp: 53,091; sh: 10,537; ansic: 1,845; python: 1,226; perl: 263; makefile: 209; xml: 85; objc: 59
file content (68 lines) | stat: -rw-r--r-- 2,228 bytes parent folder | download | duplicates (3)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/layout.h>
#include <log4cplus/ndc.h>
#include <log4cplus/helpers/loglog.h>
#include <log4cplus/helpers/property.h>
#include <log4cplus/loggingmacros.h>
#include <log4cplus/initializer.h>


using namespace log4cplus;

const int LOOP_COUNT = 20000;


int
main()
{
    log4cplus::Initializer initializer;
    helpers::LogLog::getLogLog()->setInternalDebugging(true);
    SharedFileAppenderPtr append_1(
        new RollingFileAppender(LOG4CPLUS_TEXT("a////b/c/d/Test.log"), 5*1024, 5,
            false, true));
    append_1->setName(LOG4CPLUS_TEXT("First"));
    append_1->setLayout( std::unique_ptr<Layout>(new TTCCLayout()) );
    append_1->getloc();
    Logger::getRoot().addAppender(SharedAppenderPtr(append_1.get ()));

    Logger root = Logger::getRoot();
    Logger test = Logger::getInstance(LOG4CPLUS_TEXT("test"));
    Logger subTest = Logger::getInstance(LOG4CPLUS_TEXT("test.subtest"));

    for(int i=0; i<LOOP_COUNT; ++i) {
        NDCContextCreator _context(LOG4CPLUS_TEXT("loop"));
        LOG4CPLUS_DEBUG(subTest, "Entering loop #" << i);
    }

    {
        tistringstream propsStream (LOG4CPLUS_TEXT ("File="));
        helpers::Properties props (propsStream);
        FileAppender appender (props);
        appender.setName (LOG4CPLUS_TEXT ("Second"));
    }

    {
        tistringstream propsStream (
            LOG4CPLUS_TEXT("File=nonexistent/Test.log"));
        helpers::Properties props (propsStream);
        FileAppender appender (props);
        appender.setName (LOG4CPLUS_TEXT ("Third"));
    }

    {
        // This is checking that CreateDirs is respected when UseLockFile is
        // provided and that directories for the lock file are created.
        tistringstream propsStream (
            LOG4CPLUS_TEXT("CreateDirs=true\n")
            LOG4CPLUS_TEXT("File=./logs/some_name.log\n")
            LOG4CPLUS_TEXT("UseLockFile=true\n")
            LOG4CPLUS_TEXT("MaxFileSize=100MB\n")
            LOG4CPLUS_TEXT("MaxBackupIndex=10\n"));
        helpers::Properties props (propsStream);
        FileAppender appender (props);
        appender.setName (LOG4CPLUS_TEXT ("Fourth"));
    }

    return 0;
}