From 26dceecc80390f10cedb94bd9e4fd655827d7f17 Mon Sep 17 00:00:00 2001
From: Johnathan Corgan <johnathan@corganlabs.com>
Date: Tue, 26 Mar 2013 20:18:53 -0700
Subject: runtime: migrate remaining gnuradio-core contents into
 gnuradio-runtime

---
 gnuradio-core/src/lib/runtime/gr_logger.cc | 291 -----------------------------
 1 file changed, 291 deletions(-)
 delete mode 100644 gnuradio-core/src/lib/runtime/gr_logger.cc

(limited to 'gnuradio-core/src/lib/runtime/gr_logger.cc')

diff --git a/gnuradio-core/src/lib/runtime/gr_logger.cc b/gnuradio-core/src/lib/runtime/gr_logger.cc
deleted file mode 100644
index 7e0116d036..0000000000
--- a/gnuradio-core/src/lib/runtime/gr_logger.cc
+++ /dev/null
@@ -1,291 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2012 Free Software Foundation, Inc.
- * 
- * This file is part of GNU Radio
- * 
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- * 
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-/*******************************************************************************
-* Author: Mark Plett 
-* Description:
-*   The gr_log module wraps the log4cpp library for logging in gnuradio.
-*******************************************************************************/
-
-#include <gr_logger.h>
-#include <stdexcept>
-#include <algorithm>
-
-#ifdef ENABLE_GR_LOG
-#ifdef HAVE_LOG4CPP 
-
-/**************************** BEGIN LOG4CPP HELPERS ***************************/
-/* Logger config class.  This is a singleton that controls how log4cpp is configured
- * If watch_period>0 a thread is started to watch teh config file for changes.
- */
-
-// Getters of logger_config 
-logger_config& 
-logger_config::get_instance(void){
-  static logger_config instance;
-  return instance;
-};
-
-std::string 
-logger_config::get_filename(){
-  logger_config& in=get_instance(); 
-  return in.filename;
-};
-
-unsigned int 
-logger_config::get_watch_period(){
-  logger_config& in=get_instance(); 
-  return in.watch_period;
-};
-
-// Method to watch config file for changes
-void logger_config::watch_file(std::string filename,unsigned int watch_period){
-   std::time_t last_write(boost::filesystem::last_write_time(filename));
-   std::time_t current_time(0);
-   while(true){
-    try{
-     current_time = boost::filesystem::last_write_time(filename);
-     if(current_time>last_write){
-       std::cout<<"GNURadio Reloading logger configuration:"<<filename<<std::endl;
-       last_write = current_time;
-// Should we wipe out all old configuration or just add the new?  Just adding...
-//     logger_reset_config();  
-       logger_load_config(filename);     
-     };
-       boost::this_thread::sleep(boost::posix_time::time_duration(0,0,watch_period,0));
-    }
-    catch(const boost::thread_interrupted&){
-       std::cout<<"GNURadio leaving logger config file watch."<<std::endl;
-      break;
-    }; 
-   };
-};
-
-// Method to load the confifuration.  It only loads if the filename or watch has changed
-void logger_config::load_config(std::string filename,unsigned int watch_period){
-  logger_config& instance = get_instance();
-// Only reconfigure if filename or watch has changed
-  if(instance.filename!=filename || watch_period!=instance.watch_period){
-    instance.filename = filename;
-    instance.watch_period = watch_period;
-// Stop any file watching thread
-    if(instance.watch_thread!=NULL) stop_watch();
-// Load configuration   
-    std::cout<<"GNURadio Loading logger configuration:"<<instance.filename<<std::endl;
-    logger_load_config(instance.filename);
-// Start watch if required
-    if(instance.watch_period>0){
-      instance.watch_thread = new boost::thread(watch_file,instance.filename,instance.watch_period);
-    }
-  };
-};
-
-// Method to stop the watcher thread
-void logger_config::stop_watch(){
-  logger_config& instance = get_instance();
-     if(instance.watch_thread){
-       instance.watch_thread->interrupt(); 
-       instance.watch_thread->join(); 
-       delete(instance.watch_thread);
-       instance.watch_thread=NULL;
-     };
-};
-
-// Method to reset logger configuration
-void 
-logger_config::reset_config(void){
-  logger_config& instance = get_instance();
-  stop_watch();
-  std::vector<log4cpp::Category*> *loggers = log4cpp::Category::getCurrentCategories();
-  std::vector<log4cpp::Category*>::iterator logger = loggers->begin();
-// We can't destroy categories but we can neuter them by removing all appenders.
-  for (;logger!=loggers->end();logger++){
-    (*logger)->removeAllAppenders();
-  };
-  instance.filename=std::string("");
-  instance.watch_period=0;
-}
-
-/***************** Functions to call log4cpp methods *************************/
-
-gr_logger_ptr 
-logger_get_logger(std::string name)
-{
-      if(log4cpp::Category::exists(name)){
-        gr_logger_ptr logger = &log4cpp::Category::getInstance(name);
-        return logger;
-      }
-      else
-      {
-        gr_logger_ptr logger = &log4cpp::Category::getInstance(name);
-        logger->setPriority(log4cpp::Priority::NOTSET);
-        return logger;
-      };
-};
-
-void
-logger_load_config(const std::string &config_filename)
-{
-    if(config_filename.size() != 0) {
-       try
-       {
-         log4cpp::PropertyConfigurator::configure(config_filename);
-       }
-       catch( log4cpp::ConfigureFailure &e )
-       {
-         std::cout << "Logger config failed :" << e.what() << std::endl;
-       }
-    };
-}
-
-void
-logger_set_level(gr_logger_ptr logger, const std::string &level)
-{
-  std::string nocase = level;
-  std::transform(level.begin(), level.end(), nocase.begin(), ::tolower);
-
-  if(nocase == "off" || nocase == "notset")
-    logger_set_level(logger, log4cpp::Priority::NOTSET);
-  else if(nocase == "all" || nocase == "debug")
-    logger_set_level(logger, log4cpp::Priority::DEBUG);
-  else if(nocase == "info")
-    logger_set_level(logger, log4cpp::Priority::INFO);
-  else if(nocase == "notice")
-    logger_set_level(logger, log4cpp::Priority::NOTICE);
-  else if(nocase == "warn")
-    logger_set_level(logger, log4cpp::Priority::WARN);
-  else if(nocase == "error")
-    logger_set_level(logger, log4cpp::Priority::ERROR);
-  else if(nocase == "crit")
-    logger_set_level(logger, log4cpp::Priority::CRIT);
-  else if(nocase == "alert")
-    logger_set_level(logger, log4cpp::Priority::ALERT);
- else if(nocase=="fatal")
-    logger_set_level(logger, log4cpp::Priority::FATAL);
-  else if(nocase == "emerg")
-    logger_set_level(logger, log4cpp::Priority::EMERG);
-  else
-    throw std::runtime_error("logger_set_level: Bad level type.\n");
-}
-
-void
-logger_set_level(gr_logger_ptr logger, log4cpp::Priority::Value level)
-{
-  logger->setPriority(level);
-}
-
-void 
-logger_get_level(gr_logger_ptr logger, std::string &level)
-{
-  log4cpp::Priority::Value levelPtr = logger->getPriority();
-  if(levelPtr == log4cpp::Priority::NOTSET) level = "noset";
-  if(levelPtr == log4cpp::Priority::DEBUG) level = "debug";
-  if(levelPtr == log4cpp::Priority::INFO) level = "info";
-  if(levelPtr == log4cpp::Priority::NOTICE) level = "notice";
-  if(levelPtr == log4cpp::Priority::WARN) level = "warn";
-  if(levelPtr == log4cpp::Priority::ERROR) level = "error";
-  if(levelPtr == log4cpp::Priority::CRIT) level = "crit";
-  if(levelPtr == log4cpp::Priority::ALERT) level = "alert";
-  if(levelPtr == log4cpp::Priority::FATAL) level = "fatal";
-  if(levelPtr == log4cpp::Priority::EMERG) level = "emerg";
-};
-
-void 
-logger_get_level(gr_logger_ptr logger,log4cpp::Priority::Value level)
-{
-  level = logger->getPriority();
-}
-
-void 
-logger_add_console_appender(gr_logger_ptr logger,std::string target,std::string pattern)
-{
-
-  log4cpp::PatternLayout* layout = new log4cpp::PatternLayout();
-  log4cpp::Appender* app;
-  if(target=="stdout")
-    app = new log4cpp::OstreamAppender("ConsoleAppender::",&std::cout);
-  else
-	  app = new log4cpp::OstreamAppender("ConsoleAppender::",&std::cerr);
-
-  layout->setConversionPattern(pattern);
-	app->setLayout(layout);
-  logger->setAppender(app);
-
-}
-
-void
-logger_add_file_appender(gr_logger_ptr logger,std::string filename,bool append,std::string pattern)
-{
-
-  log4cpp::PatternLayout* layout = new log4cpp::PatternLayout();
-	log4cpp::Appender* app = new 
-              log4cpp::FileAppender("FileAppender::"+filename,
-              filename);
-  layout->setConversionPattern(pattern);
-	app->setLayout(layout);
-  logger->setAppender(app);
-
-}
-
-void 
-logger_add_rollingfile_appender(gr_logger_ptr logger,std::string filename,
-            size_t filesize,int bkup_index,bool append,mode_t mode,std::string pattern)
-{
-  log4cpp::PatternLayout* layout = new log4cpp::PatternLayout();
-  log4cpp::Appender* app = new 
-              log4cpp::RollingFileAppender("RollFileAppender::"+filename,filename,filesize,bkup_index,append,mode);
-  layout->setConversionPattern(pattern);
-  app->setLayout(layout);
-  logger->setAppender(app);
-}
-
-std::vector<std::string>
-logger_get_logger_names(void){
-  std::vector<std::string> names;
-  std::vector<log4cpp::Category*> *loggers = log4cpp::Category::getCurrentCategories();
-  std::vector<log4cpp::Category*>::iterator logger = loggers->begin();
-
-  for (;logger!=loggers->end();logger++){
-    names.push_back((*logger)->getName());
-  };
-  return names;  
-
-}
-
-#endif /* HAVE_LOG4CPP */
-
-/****** Start Methods to provide Python the capabilities of the macros ********/
-void gr_logger_config(const std::string config_filename, unsigned int watch_period){
-  GR_CONFIG_AND_WATCH_LOGGER(config_filename,watch_period);  
-};
-std::vector<std::string> gr_logger_get_logger_names(void){
-  std::vector<std::string> names;
-  GR_GET_LOGGER_NAMES(names);
-  return names;
-};
-void gr_logger_reset_config(void){
-  GR_RESET_CONFIGURATION();
-};
-
-// Remaining capability provided by gr_logger class in gr_logger.h
-
-#endif /* ENABLE_GR_LOGGER */
-- 
cgit v1.2.3