From 5af47074f05ae3d7f32d96c1684206c739dadb9f Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Thu, 17 Mar 2016 21:14:30 -0400 Subject: [PATCH] Log: Migrated log to libshared - Then updated libshared commit --- src/CMakeLists.txt | 2 +- src/Log.cpp | 111 --------------------------------------------- src/Log.h | 57 ----------------------- src/libshared | 2 +- 4 files changed, 2 insertions(+), 170 deletions(-) delete mode 100644 src/Log.cpp delete mode 100644 src/Log.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 995d8870..d97966c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,7 +10,6 @@ set (timew_SRCS Database.cpp Database.h Grammar.cpp Grammar.h Interval.cpp Interval.h Lexer.cpp Lexer.h - Log.cpp Log.h LR0.cpp LR0.h Rules.cpp Rules.h init.cpp @@ -23,6 +22,7 @@ set (libshared_SRCS libshared/src/Args.cpp libshared/src/Args.h libshared/src/Duration.cpp libshared/src/Duration.h libshared/src/FS.cpp libshared/src/FS.h libshared/src/JSON.cpp libshared/src/JSON.h + libshared/src/Log.cpp libshared/src/Log.h libshared/src/Msg.cpp libshared/src/Msg.h libshared/src/Pig.cpp libshared/src/Pig.h libshared/src/RX.cpp libshared/src/RX.h diff --git a/src/Log.cpp b/src/Log.cpp deleted file mode 100644 index 93591e90..00000000 --- a/src/Log.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Copyright 2015 - 2016, Paul Beckingham, Federico Hernandez. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// http://www.opensource.org/licenses/mit-license.php -// -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -void Log::file (const std::string& name) -{ - _name = name; - _file = File (_name); -} - -//////////////////////////////////////////////////////////////////////////////// -void Log::ignore (const std::string& category) -{ - _ignore.insert (category); -} - -//////////////////////////////////////////////////////////////////////////////// -void Log::write (const std::string& category, const std::string& line) -{ - // Determine if this category is in the ignore list. - if (_ignore.find (category) != _ignore.end ()) - return; - - if (line != "") - { - // If line contains newlines, split it into separate lines and log each one. - if (line.find ("\n") != std::string::npos) - { - for (const auto& single : split (line, '\n')) - write (category, single); - - return; - } - - // Single line. - if (line == _prior) - { - ++_repetition; - } - else - { - _prior = line; - - // Catch up by writing out the backlog. - if (_name != "" && _backlog.size ()) - { - for (const auto& line : _backlog) - _file.append (line); - - _backlog.clear (); - } - - if (_repetition) - { - std::string message = Datetime ().toISO () - + " " + PACKAGE_VERSION - + " " + category - + " " + format ("(Repeated {1} times)", _repetition) - + "\n"; - - if (_name != "") - _file.append (message); - else - _backlog.push_back (message); - - _repetition = 0; - } - - std::string message = Datetime ().toISO () - + " " + PACKAGE_VERSION - + " " + category - + " " + line - + "\n"; - - if (_name != "") - _file.append (message); - else - _backlog.push_back (message); - } - } -} - -//////////////////////////////////////////////////////////////////////////////// diff --git a/src/Log.h b/src/Log.h deleted file mode 100644 index 72c11123..00000000 --- a/src/Log.h +++ /dev/null @@ -1,57 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Copyright 2015 - 2016, Paul Beckingham, Federico Hernandez. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// http://www.opensource.org/licenses/mit-license.php -// -//////////////////////////////////////////////////////////////////////////////// - -#ifndef INCLUDED_LOG -#define INCLUDED_LOG - -#include -#include -#include -#include -#include -#include - -class Log -{ -public: - Log () = default; - ~Log () = default; - - void file (const std::string&); - void ignore (const std::string&); - void write (const std::string&, const std::string&); - -private: - std::string _name {}; - std::vector _backlog {}; - File _file {}; - std::string _prior {"none"}; - int _repetition {0}; - std::set _ignore {}; -}; - -#endif - diff --git a/src/libshared b/src/libshared index aa6d5377..1f26c5e0 160000 --- a/src/libshared +++ b/src/libshared @@ -1 +1 @@ -Subproject commit aa6d53773eee0865615775ecbea710d48dabde13 +Subproject commit 1f26c5e035c507f23e74e7e24c749662c21ba44f