libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
headfileloghandler.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3  * Copyright (c) 2012 Aldebaran Robotics. All rights reserved.
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the COPYING file.
6  */
7 
8 #ifndef _QI_LOG_HEADFILELOGHANDLER_HPP_
9 #define _QI_LOG_HEADFILELOGHANDLER_HPP_
10 
11 #include <boost/noncopyable.hpp>
12 #include <qi/log.hpp>
13 #include <string>
14 
15 namespace qi
16 {
17 namespace log
18 {
19  struct PrivateHeadFileLogHandler;
20 
28  class QI_API HeadFileLogHandler : private boost::noncopyable
29  {
30  public:
44  HeadFileLogHandler(const std::string& filePath, int length = 2000);
48  virtual ~HeadFileLogHandler();
49 
67  void log(const qi::LogLevel verb,
68  const qi::Clock::time_point date,
69  const qi::SystemClock::time_point systemDate,
70  const char* category,
71  const char* msg,
72  const char* file,
73  const char* fct,
74  const int line);
75 
76  private:
77  PrivateHeadFileLogHandler* _p;
78  }; // !HeadFileLogHandler
79 
80 }; // !log
81 }; // !qi
82 
83 #endif // _QI_LOG_HEADFILELOGHANDLER_HPP_
#define QI_API
Definition: api.hpp:33
LogLevel
Log level verbosity.
Definition: log.hpp:140
void log(const qi::LogLevel verb, const char *category, const char *msg, const char *file="", const char *fct="", const int line=0)
Log function. You should call qiLog* macros instead.
boost::chrono::time_point< Clock > time_point
Definition: clock.hpp:96
Convenient log macro.
boost::chrono::time_point< SystemClock > time_point
Definition: clock.hpp:178
Log the first length lines to a file. <includename>qi/log/headfileloghandler.hpp</includename> ...