From 96b863e488d9ba56d52dea8dd6b84e273bd7197d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lien=20Sell=C3=A6g?= Date: Wed, 13 May 2015 13:46:30 +0200 Subject: [PATCH 1/2] Add flushing of log file --- juci/api.cc | 5 ++--- juci/juci.cc | 11 ++++++++--- juci/logging.h | 18 ++++++++++++------ juci/source.cc | 4 ++++ 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/juci/api.cc b/juci/api.cc index 0ae1587..6a5f0a4 100644 --- a/juci/api.cc +++ b/juci/api.cc @@ -1,4 +1,5 @@ #include "api.h" +#include "logging.h" Menu::Controller* PluginApi::menu_; Notebook::Controller* PluginApi::notebook_; @@ -13,8 +14,6 @@ PluginApi::PluginApi(Menu::Controller& menu_ctl_, } PluginApi::~PluginApi() { - delete menu_; - delete notebook_; menu_ = NULL; notebook_ = NULL; } @@ -39,7 +38,7 @@ void PluginApi::ReplaceWord(std::string word) { } void PluginApi::ReplaceLine(std::string line) { - std::cout << "unimplemented: " << __func__ << std::endl; + WARNING("use of unimplemented method"); } std::string PluginApi::GetWord() { diff --git a/juci/juci.cc b/juci/juci.cc index 199d97e..cedf99d 100644 --- a/juci/juci.cc +++ b/juci/juci.cc @@ -1,14 +1,19 @@ #include "window.h" #include "logging.h" +void init_logging() { + add_common_attributes(); + add_file_log(keywords::file_name = "juci.log", + keywords::auto_flush = true); + INFO("Logging initalized"); +} + int main(int argc, char *argv[]) { Glib::RefPtr app = Gtk::Application::create( argc, argv, "no.sout.juci"); - - add_file_log("juci.log"); - INFO("Logging initalized"); + init_logging(); Window window; return app->run(window); } diff --git a/juci/logging.h b/juci/logging.h index f6cdc55..c00f0d2 100644 --- a/juci/logging.h +++ b/juci/logging.h @@ -12,11 +12,17 @@ using namespace boost::log; -#define TRACE(x) BOOST_LOG_TRIVIAL(trace) << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; -#define DEBUG(x) BOOST_LOG_TRIVIAL(debug) << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; -#define INFO(x) BOOST_LOG_TRIVIAL(info) << __func__ << "(" << __LINE__ << "): \"" x << "\""; -#define WARNING(x) BOOST_LOG_TRIVIAL(warning) << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; -#define ERROR(x) BOOST_LOG_TRIVIAL(error) << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; -#define FATAL(x) BOOST_LOG_TRIVIAL(fatal) << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define TRACE_VAR(x) BOOST_LOG_TRIVIAL(trace) << "** Trace: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define DEBUG_VAR(x) BOOST_LOG_TRIVIAL(debug) << "** Debug: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define INFO_VAR(x) BOOST_LOG_TRIVIAL(info) << "** Info: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define WARNING_VAR(x) BOOST_LOG_TRIVIAL(warning) << "** Warning: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define FATAL_VAR(x) BOOST_LOG_TRIVIAL(fatal) << "** Fatal: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define ERROR_VAR(x) BOOST_LOG_TRIVIAL(error) << "** Error: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): " << #x << "=<" << x << ">"; +#define TRACE(x) BOOST_LOG_TRIVIAL(trace) << "** Trace: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; +#define DEBUG(x) BOOST_LOG_TRIVIAL(debug) << "** Debug: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; +#define INFO(x) BOOST_LOG_TRIVIAL(info) << "** Info: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; +#define WARNING(x) BOOST_LOG_TRIVIAL(warning) << "** Warning: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; +#define FATAL(x) BOOST_LOG_TRIVIAL(fatal) << "** Fatal: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; +#define ERROR(x) BOOST_LOG_TRIVIAL(error) << "** Error: " << __FILE__ << "@" << __func__ << "(" << __LINE__ << "): \"" << x << "\""; #endif // JUCI_LOGGING_H_ diff --git a/juci/source.cc b/juci/source.cc index ea05e9c..e40f07c 100644 --- a/juci/source.cc +++ b/juci/source.cc @@ -362,6 +362,7 @@ void Source::Controller::OnOpenFile(const string &filepath) { if (!go) { std::thread parse([this]() { if (parsing.try_lock()) { + INFO("Starting parsing"); while (true) { const std::string raw = buffer()->get_text().raw(); std::map buffers; @@ -376,6 +377,7 @@ void Source::Controller::OnOpenFile(const string &filepath) { } } parsing.unlock(); + INFO("Parsing completed"); } }); parse.detach(); @@ -385,10 +387,12 @@ void Source::Controller::OnOpenFile(const string &filepath) { buffer()->signal_begin_user_action().connect([this]() { if (go) { syntax.lock(); + INFO("Updating syntax"); view(). OnUpdateSyntax(model().ExtractTokens(0, buffer()->get_text().size()), model().config()); go = false; + INFO("Syntax updated"); syntax.unlock(); } }); From 45218c42a89319c6adca984ec127f0e3089cf5b9 Mon Sep 17 00:00:00 2001 From: tedjk Date: Wed, 13 May 2015 14:18:28 +0200 Subject: [PATCH 2/2] moved python module to /lib and executable to /bin, updated plugins.py --- juci/CMakeLists.txt | 7 +++++-- juci/plugins.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/juci/CMakeLists.txt b/juci/CMakeLists.txt index 64c2849..5cd0026 100644 --- a/juci/CMakeLists.txt +++ b/juci/CMakeLists.txt @@ -111,6 +111,9 @@ add_executable(${project_name} terminal.cc ) +set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) + + add_library(${module} SHARED api api_ext @@ -132,8 +135,8 @@ link_directories( ${LIBCLANG_LIBRARY_DIRS} ) #module: -set_target_properties(${module} PROPERTIES PREFIX "") -# LIBRARY_OUTPUT_DIRECTORY "/usr/lib/python2.7/dist-packages/") +set_target_properties(${module} PROPERTIES PREFIX "" +LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/lib/") target_link_libraries(${module} ${PYTHON_LIBRARIES} ${Boost_LIBRARIES}) #executable: target_link_libraries(${project_name} ${LIVCLANG_LIBRARIES} ${LCL_LIBRARIES} ${GTKMM_LIBRARIES} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) diff --git a/juci/plugins.py b/juci/plugins.py index f8faf6e..ef50bb7 100644 --- a/juci/plugins.py +++ b/juci/plugins.py @@ -2,7 +2,7 @@ #plugin handler import sys, os, glob cwd = os.getcwd() -sys.path.append(cwd) +sys.path.append(cwd+"/lib") import juci_to_python_api as juci def loadplugins():