source: trunk/src/AsapLogSink.cpp @ 3106

Last change on this file since 3106 was 3106, checked in by Takeshi Nakazato, 8 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes/No?

Interface Changes: Yes/No?

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...


Check-in asap modifications from Jim regarding casacore namespace conversion.

File size: 1.4 KB
Line 
1//
2// C++ Implementation: AsapLogSink
3//
4// Description:
5//
6//
7// Author: Malte Marquarding <asap@atnf.csiro.au>, (C) 2010
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#include <casa/iostream.h>
13#include <casa/Logging/LogMessage.h>
14#include <casa/Logging/LogSink.h>
15#include <casa/Logging/NullLogSink.h>
16#include "AsapLogSink.h"
17
18using namespace casacore;
19
20namespace asap {
21
22  void AsapLogSink::postMessage(const std::string& msg,
23                                const std::string& priority,
24                                const std::string& origin)
25  {
26    LogMessage::Priority p = LogMessage::NORMAL;
27    if (priority == "INFO") {
28      p = LogMessage::NORMAL;
29    } else if (priority == "WARN") {
30      p = LogMessage::WARN;
31    } else if (priority == "ERROR") {
32      p = LogMessage::SEVERE;
33    } else if (priority == "DEBUG") {
34      p = LogMessage::DEBUGGING;
35    }
36    LogMessage message(msg, LogOrigin(origin), p);
37
38    MemoryLogSink::postLocally(message);
39  }
40
41  std::string AsapLogSink::popMessages()
42  {
43    ostringstream oss;
44    for (uInt i=0; i < nelements(); ++i) {
45      std::string p = getPriority(i);
46      if (p != "INFO") {
47        oss << p << ": ";
48      }
49      oss << getMessage(i) << endl;
50    }
51    clearLocally();
52    return String(oss);
53  }
54
55  void setAsapSink(AsapLogSink& sink)
56  {
57    LogSinkInterface* s = &sink;
58    LogSink().globalSink(s);
59  }
60
61};
Note: See TracBrowser for help on using the repository browser.