• R/O
  • HTTP
  • SSH
  • HTTPS

libcore: Commit

GikoMonaのソフトウェアの基幹部分を集めて1つのライブラリに集約したものです。gikomona/pnutsのコンパイルにはこのライブラリが必須です。


Commit MetaInfo

Revision0131ec4cf60a186a70f61757b4669ef3877fc295 (tree)
Time2014-08-10 01:38:16
Authorcaprice <caprice@user...>
Commitercaprice

Log Message

logging処理の追加

Change Summary

Incremental Difference

--- a/src/GikoMona.cpp
+++ b/src/GikoMona.cpp
@@ -11,10 +11,33 @@
1111 #include "GikoMona.hpp"
1212 #include "database.hpp"
1313 #include "model.hpp"
14-#include "post-office.hpp"
14+#include "communication/post-office.hpp"
1515
1616 #include "extension.hpp"
1717
18+namespace monazilla { namespace GikoMona {
19+
20+const char* severity_names[] = {
21+ "debug_trace",
22+ "debug_message",
23+ "debug_warning",
24+ "debug_error",
25+
26+ "trace",
27+ "message",
28+ "warning",
29+ "error",
30+};
31+
32+boost::log::sources::severity_logger<severity_level>* severity_logger;
33+
34+} }
35+
36+std::ostream& operator<<(std::ostream& strm, const monazilla::GikoMona::severity_level level) {
37+ strm << monazilla::GikoMona::severity_names[static_cast<int>(level)];
38+ return strm;
39+}
40+
1841 namespace monazilla { namespace GikoMona { namespace core {
1942
2043 namespace {
@@ -26,6 +49,15 @@ std::shared_ptr<communication::post_office> app_postoffice;
2649 }
2750
2851 bool init_core(const mona_string& app_name) {
52+ severity_logger = new boost::log::sources::severity_logger<severity_level>;
53+ boost::log::register_simple_formatter_factory<severity_level, char>( "Severity" );
54+ boost::log::add_file_log(
55+ boost::log::keywords::file_name = "logs/%Y%m%d.log",
56+ boost::log::keywords::format = "%Severity% - [GikoMona. %TimeStamp%]:%Message%",
57+ boost::log::keywords::open_mode = (std::ios::out | std::ios::app)
58+ );
59+ boost::log::core::get()->add_global_attribute("TimeStamp", boost::log::attributes::local_clock());
60+
2961 wxXmlResource::Get()->InitAllHandlers();
3062 wxXmlResource::Get()->LoadAllFiles(wxT("resouce"));
3163
@@ -36,7 +68,8 @@ bool init_core(const mona_string& app_name) {
3668 // 一時解凍ファイルなどを溜め込む .tmp フォルダを作成
3769 if(!boost::filesystem::exists(path_builder.str(), reason) &&
3870 !boost::filesystem::create_directories(path_builder.str(), reason)) {
39- // log
71+ ERROR(".tmpフォルダがすでに存在するか、.tmpフォルダの作成に失敗しました。");
72+ MESSAGE(".tmpフォルダが存在するか確認し、存在すれば.tmpフォルダを削除してください。");
4073 std::terminate();
4174 }
4275
Show on old repository browser