projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hand-apply 96593d0ea6eb7b01ee97c8292c4546fc56d3da9d; only write metadata before encod...
[dcpomatic.git]
/
src
/
lib
/
log.h
diff --git
a/src/lib/log.h
b/src/lib/log.h
index 94d30de4ecbb109a8b557bc145041c2517685899..300df743b9c7f4f790eafc4e465b45a7a1dfffe7 100644
(file)
--- a/
src/lib/log.h
+++ b/
src/lib/log.h
@@
-24,10
+24,10
@@
* @brief A very simple logging class.
*/
* @brief A very simple logging class.
*/
-#include <string>
#include <boost/thread/mutex.hpp>
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
+#include <string>
/** @class Log
* @brief A very simple logging class.
/** @class Log
* @brief A very simple logging class.
@@
-48,12
+48,17
@@
public:
void set_types (int types);
void set_types (int types);
+ virtual std::string head_and_tail (int amount = 1024) const = 0;
+
+protected:
+
+ /** mutex to protect the log */
+ mutable boost::mutex _mutex;
+
private:
virtual void do_log (std::string m) = 0;
void config_changed ();
private:
virtual void do_log (std::string m) = 0;
void config_changed ();
- /** mutex to protect the log */
- boost::mutex _mutex;
/** bit-field of log types which should be put into the log (others are ignored) */
int _types;
boost::signals2::scoped_connection _config_connection;
/** bit-field of log types which should be put into the log (others are ignored) */
int _types;
boost::signals2::scoped_connection _config_connection;
@@
-64,6
+69,8
@@
class FileLog : public Log
public:
FileLog (boost::filesystem::path file);
public:
FileLog (boost::filesystem::path file);
+ std::string head_and_tail (int amount = 1024) const;
+
private:
void do_log (std::string m);
/** filename to write to */
private:
void do_log (std::string m);
/** filename to write to */
@@
-73,6
+80,9
@@
private:
class NullLog : public Log
{
public:
class NullLog : public Log
{
public:
+ std::string head_and_tail (int) const {
+ return "";
+ }
private:
void do_log (std::string) {}
private:
void do_log (std::string) {}