LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
AbstractLinguisticLogger.cpp
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/************************************************************************
7 *
8 * @file AbstractLinguisticLogger.cpp
9 * @author Romaric Besancon (romaric.besancon@cea.fr)
10 * @date Thu Aug 3 2006
11 * copyright Copyright (C) 2006-2012 by CEA LIST
12 * Project LinguisticProcessing
13 *
14 ***********************************************************************/
15
17#include <fstream>
18
19using namespace std;
21
22namespace Lima {
23namespace LinguisticProcessing {
24
26AbstractLinguisticLogger(const std::string& defaultSuffix):
27m_outputSuffix(defaultSuffix),
28m_append(false)
29{}
30
33
36 Manager* /*manager*/)
37
38{
39 try
40 {
41 m_outputSuffix=unitConfiguration.getParamsValueAtKey("outputSuffix");
42 }
43 catch (NoSuchParam& ) {} // ignored : keep default suffix
44
45 try
46 {
47 string val=unitConfiguration.getParamsValueAtKey("append");
48 if (val=="true" || val=="yes" || val=="1") {
49 m_append=true;
50 }
51 else {
52 m_append=false;
53 }
54 }
55 catch (NoSuchParam& ) {} // keep default value
56}
57
59openLogFile(std::ofstream& output,
60 const std::string& sourceFile) const
61{
62 string outputFile=sourceFile + m_outputSuffix;
63 if (m_append) {
64 output.open(outputFile.c_str(),ios::app | std::ofstream::binary);
65 }
66 else {
67 output.open(outputFile.c_str(), std::ofstream::binary);
68 }
69 if (!output.good())
70 {
72 LERROR << "Can't open log file" << outputFile.c_str();
73 }
74 return output.good();
75}
76
77} // end namespace
78} // end namespace
#define LERROR
Definition LimaCommon.h:161
#define CORECLIENTLOGINIT
return a message when a 'param' was not found
Manage initialization of InitializableObjects using configuration module and parameters.
AbstractLinguisticLogger(const std::string &defaultSuffix=".log")
bool openLogFile(std::ofstream &output, const std::string &sourceFile) const
virtual void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
NAUTITIA.
STL namespace.