[Groonga-commit] pgroonga/pgroonga at 43ba94b [master] Add pgroonga.log_type

Back to archive index

Kouhei Sutou null+****@clear*****
Sun Jul 26 19:23:06 JST 2015


Kouhei Sutou	2015-07-26 19:23:06 +0900 (Sun, 26 Jul 2015)

  New Revision: 43ba94b208e06a98156a5ba4c34ec95591a95afe
  https://github.com/pgroonga/pgroonga/commit/43ba94b208e06a98156a5ba4c34ec95591a95afe

  Message:
    Add pgroonga.log_type
    
    We can use Windows event log on Windows.
    
    It requires Groonga 5.0.6 that isn't released yet.

  Added files:
    expected/variable/log-type/valid.out
    sql/variable/log-type/valid.sql
  Modified files:
    .travis.yml
    pgroonga.c

  Modified: .travis.yml (+2 -2)
===================================================================
--- .travis.yml    2015-07-26 17:07:23 +0900 (95d511b)
+++ .travis.yml    2015-07-26 19:23:06 +0900 (fa96694)
@@ -6,8 +6,8 @@ compiler:
   - gcc
 addons:
   postgresql: "9.3"
-# env:
-#   - GROONGA_MASTER=yes
+env:
+  - GROONGA_MASTER=yes
 install:
   - curl --silent --location https://github.com/groonga/groonga/raw/master/data/travis/setup.sh | sh
   - sudo apt-get install -qq -y postgresql-server-dev-9.3

  Added: expected/variable/log-type/valid.out (+27 -0) 100644
===================================================================
--- /dev/null
+++ expected/variable/log-type/valid.out    2015-07-26 19:23:06 +0900 (dbd4e14)
@@ -0,0 +1,27 @@
+-- To load PGroonga
+SELECT pgroonga.command('status')::json->0->0;
+ ?column? 
+----------
+ 0
+(1 row)
+
+SHOW pgroonga.log_type;
+ pgroonga.log_type 
+-------------------
+ file
+(1 row)
+
+SET pgroonga.log_type = 'windows_event_log';
+SHOW pgroonga.log_type;
+ pgroonga.log_type 
+-------------------
+ windows_event_log
+(1 row)
+
+SET pgroonga.log_type = default;
+SHOW pgroonga.log_type;
+ pgroonga.log_type 
+-------------------
+ file
+(1 row)
+

  Modified: pgroonga.c (+37 -0)
===================================================================
--- pgroonga.c    2015-07-26 17:07:23 +0900 (548b65c)
+++ pgroonga.c    2015-07-26 19:23:06 +0900 (f04d59b)
@@ -52,7 +52,20 @@ PG_MODULE_MAGIC;
 
 static bool PGrnIsLZ4Available;
 static relopt_kind PGrnReloptionKind;
+
+static int PGrnLogType;
+enum PGrnLogType {
+	PGRN_LOG_TYPE_FILE,
+	PGRN_LOG_TYPE_WINDOWS_EVENT_LOG
+};
+static struct config_enum_entry PGrnLogTypeEntries[] = {
+	{"file",              PGRN_LOG_TYPE_FILE,              false},
+	{"windows_event_log", PGRN_LOG_TYPE_WINDOWS_EVENT_LOG, false},
+	{NULL,                PGRN_LOG_TYPE_FILE,              false}
+};
+
 static char *PGrnLogPath;
+
 static int PGrnLogLevel;
 static struct config_enum_entry PGrnLogLevelEntries[] = {
 	{"none",      GRN_LOG_NONE,    false},
@@ -210,6 +223,16 @@ PGrnGetEncoding(void)
 }
 
 static void
+PGrnLogTypeAssign(int new_value, void *extra)
+{
+	if (new_value == PGRN_LOG_TYPE_WINDOWS_EVENT_LOG) {
+		grn_windows_event_logger_set(ctx);
+	} else {
+		grn_logger_set(ctx, NULL);
+	}
+}
+
+static void
 PGrnLogPathAssign(const char *new_value, void *extra)
 {
 	if (new_value) {
@@ -232,6 +255,20 @@ PGrnLogLevelAssign(int new_value, void *extra)
 static void
 PGrnInitializeVariables(void)
 {
+	DefineCustomEnumVariable("pgroonga.log_type",
+							 "Log type for PGroonga.",
+							 "Available log types: "
+							 "[file, windows_event_log]. "
+							 "The default is file.",
+							 &PGrnLogType,
+							 PGRN_LOG_TYPE_FILE,
+							 PGrnLogTypeEntries,
+							 PGC_USERSET,
+							 0,
+							 NULL,
+							 PGrnLogTypeAssign,
+							 NULL);
+
 	DefineCustomStringVariable("pgroonga.log_path",
 							   "Log path for PGroonga.",
 							   "The default is "

  Added: sql/variable/log-type/valid.sql (+8 -0) 100644
===================================================================
--- /dev/null
+++ sql/variable/log-type/valid.sql    2015-07-26 19:23:06 +0900 (0a49764)
@@ -0,0 +1,8 @@
+-- To load PGroonga
+SELECT pgroonga.command('status')::json->0->0;
+
+SHOW pgroonga.log_type;
+SET pgroonga.log_type = 'windows_event_log';
+SHOW pgroonga.log_type;
+SET pgroonga.log_type = default;
+SHOW pgroonga.log_type;
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index