[Groonga-commit] groonga/groonga at 87275b4 [master] groonga: add Windows event log related options

Back to archive index

Kouhei Sutou null+****@clear*****
Sun Jul 26 15:37:11 JST 2015


Kouhei Sutou	2015-07-26 15:37:11 +0900 (Sun, 26 Jul 2015)

  New Revision: 87275b47fb659625ab341c6adb5f0aac87d9f83f
  https://github.com/groonga/groonga/commit/87275b47fb659625ab341c6adb5f0aac87d9f83f

  Message:
    groonga: add Windows event log related options
    
    * --use-windows-event-log
    * --windows-event-source-name

  Modified files:
    src/groonga.c

  Modified: src/groonga.c (+27 -0)
===================================================================
--- src/groonga.c    2015-07-26 15:36:39 +0900 (e3fff2d)
+++ src/groonga.c    2015-07-26 15:37:11 +0900 (47c880a)
@@ -2189,6 +2189,7 @@ enum {
 #define FLAG_MODE_DAEMON     (1 << 6)
 #define FLAG_MODE_SERVER     (1 << 7)
 #define FLAG_NEW_DB     (1 << 8)
+#define FLAG_USE_WINDOWS_EVENT_LOG (1 << 9)
 
 static uint32_t
 get_core_number(void)
@@ -2646,6 +2647,13 @@ show_usage(FILE *output)
           "                           log file size is larger than or\n"
           "                           equals to the threshold\n"
           "                           (default: 0; disabled)\n"
+#ifdef WIN32
+          "      --use-windows-event-log:\n"
+          "                           report logs as Windows events\n"
+          "      --windows-event-source-name <name>:\n"
+          "                           specify event source name\n"
+          "                           (default: Groonga)\n"
+#endif /* WIN32 */
           "      --query-log-path <path>:\n"
           "                           specify query log path\n"
           "                           (default: %s)\n"
@@ -2708,12 +2716,14 @@ main(int argc, char **argv)
   const char *input_fd_arg = NULL;
   const char *output_fd_arg = NULL;
   const char *working_directory_arg = NULL;
+  const char *windows_event_source_name_arg = NULL;
   const char *config_path = NULL;
   int exit_code = EXIT_SUCCESS;
   int i;
   int flags = 0;
   uint32_t cache_limit = 0;
   grn_bool need_line_editor = GRN_FALSE;
+  grn_bool use_windows_event_log = GRN_FALSE;
   static grn_str_getopt_opt opts[] = {
     {'p', "port", NULL, 0, GETOPT_OP_NONE},
     {'e', "encoding", NULL, 0, GETOPT_OP_NONE},
@@ -2743,6 +2753,9 @@ main(int argc, char **argv)
     {'\0', "input-fd", NULL, 0, GETOPT_OP_NONE},
     {'\0', "output-fd", NULL, 0, GETOPT_OP_NONE},
     {'\0', "working-directory", NULL, 0, GETOPT_OP_NONE},
+    {'\0', "use-windows-event-log", NULL,
+     FLAG_USE_WINDOWS_EVENT_LOG, GETOPT_OP_ON},
+    {'\0', "windows-event-source-name", NULL, 0, GETOPT_OP_NONE},
     {'\0', NULL, NULL, 0, 0}
   };
   opts[0].arg = &port_arg;
@@ -2766,6 +2779,7 @@ main(int argc, char **argv)
   opts[25].arg = &input_fd_arg;
   opts[26].arg = &output_fd_arg;
   opts[27].arg = &working_directory_arg;
+  opts[29].arg = &windows_event_source_name_arg;
 
   reset_ready_notify_pipe();
 
@@ -2915,6 +2929,19 @@ main(int argc, char **argv)
     do_server = g_server;
   }
 
+#ifdef WIN32
+  if (flags & FLAG_USE_WINDOWS_EVENT_LOG) {
+    use_windows_event_log = GRN_TRUE;
+  }
+#endif /* WIN32 */
+
+  if (use_windows_event_log) {
+    if (windows_event_source_name_arg) {
+      grn_windows_event_logger_set_source_name(windows_event_source_name_arg);
+    }
+    grn_windows_event_logger_set(NULL);
+  }
+
   if (log_path_arg) {
     grn_default_logger_set_path(log_path_arg);
   }
-------------- next part --------------
HTML����������������������������...
Download 



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