[sheepdog] [PATCH 2/2] logger: use simpler formatter by default
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Fri Jul 12 08:49:02 CEST 2013
The current log format is expected to be used for server daemons and
not appropriate for collie and sheepfs. This patch introduces a
simpler formatter for them.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
---
lib/logger.c | 18 ++++++++++++++++--
sheep/sheep.c | 2 +-
shepherd/shepherd.c | 2 +-
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/lib/logger.c b/lib/logger.c
index ad2bc6a..253163d 100644
--- a/lib/logger.c
+++ b/lib/logger.c
@@ -205,8 +205,8 @@ static void notrace free_logarea(void)
shmdt(la);
}
-static notrace int default_log_formatter(char *buff, size_t size,
- const struct logmsg *msg)
+static notrace int server_log_formatter(char *buff, size_t size,
+ const struct logmsg *msg)
{
char *p = buff;
struct tm tm;
@@ -249,6 +249,20 @@ static notrace int default_log_formatter(char *buff, size_t size,
return p - buff;
}
+log_format_register("server", server_log_formatter);
+
+static notrace int default_log_formatter(char *buff, size_t size,
+ const struct logmsg *msg)
+{
+ int len;
+
+ pstrcpy(buff, size, msg->str);
+ len = strlen(buff);
+ if (len > 0 && buff[len - 1] != '\n' && size > len)
+ buff[len++] = '\n';
+
+ return len;
+}
log_format_register("default", default_log_formatter);
static notrace int json_log_formatter(char *buff, size_t size,
diff --git a/sheep/sheep.c b/sheep/sheep.c
index 441aa9a..1e05a49 100644
--- a/sheep/sheep.c
+++ b/sheep/sheep.c
@@ -501,7 +501,7 @@ int main(int argc, char **argv)
int64_t zone = -1;
struct cluster_driver *cdrv;
struct option *long_options;
- const char *log_format = "default", *http_address = NULL;
+ const char *log_format = "server", *http_address = NULL;
static struct logger_user_info sheep_info;
install_crash_handler(crash_handler);
diff --git a/shepherd/shepherd.c b/shepherd/shepherd.c
index f85832f..575097f 100644
--- a/shepherd/shepherd.c
+++ b/shepherd/shepherd.c
@@ -780,7 +780,7 @@ int main(int argc, char **argv)
bool daemonize = true;
int log_level = SDOG_INFO;
const char *log_file = "/var/log/shepherd.log";
- const char *log_format = "default";
+ const char *log_format = "server";
struct logger_user_info shepherd_info;
int port = SHEPHERD_PORT;
--
1.8.1.3.566.gaa39828
More information about the sheepdog
mailing list