{"thread":{"id":"16307","subject":"git-daemon: single-line logging","startedAt":"2008-11-13T16:51:04Z","lastAt":"2008-11-16T16:08:42Z","messageCount":2,"participants":["Jan Engelhardt","Thomas Harning"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"95697","messageId":"alpine.LNX.1.10.0811131749420.16134@fbirervta.pbzchgretzou.qr","threadId":"16307","inReplyTo":null,"subject":"git-daemon: single-line logging","fromName":"Jan Engelhardt","fromEmail":"jengelh@medozas.de","sentAt":"2008-11-13T16:51:04Z","receivedAt":"2008-11-13T16:51:04Z","isPatch":false,"sender":{"key":"jengelh@medozas.de","avatar":null},"body":"Hi,\n\n\nI wrote this patch for my git-daemon to make it much easier to parse \n/var/log/git-daemon.log -- namely reducing the output from three lines \nper connected client to just one.\n\ncommit 4dc99ff38c7e09aabf253bd9f65e8b4958654f7e\nagainst v1.6.0.4\nAuthor: Jan Engelhardt <jengelh@medozas.de>\nDate:   Sun Aug 24 12:12:29 2008 -0400\n\n    git-daemon: single-line logs\n    \n    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>\n---\n daemon.c |   18 +++++++-----------\n 1 files changed, 7 insertions(+), 11 deletions(-)\n\ndiff --git a/daemon.c b/daemon.c\nindex 8dcde73..8ecfe7b 100644\n--- a/daemon.c\n+++ b/daemon.c\n@@ -319,14 +319,15 @@ static int git_daemon_config(const char *var, const char *value, void *cb)\n \treturn 0;\n }\n \n-static int run_service(struct interp *itable, struct daemon_service *service)\n+static int run_service(struct interp *itable, struct daemon_service *service,\n+    const char *origin)\n {\n \tconst char *path;\n \tint enabled = service->enabled;\n \n-\tloginfo(\"Request %s for '%s'\",\n-\t\tservice->name,\n-\t\titable[INTERP_SLOT_DIR].value);\n+\tloginfo(\"%s->%s %s \\\"%s\\\"\\n\",\n+\t\torigin, itable[INTERP_SLOT_HOST].value,\n+\t\tservice->name, itable[INTERP_SLOT_DIR].value);\n \n \tif (!enabled && !service->overridable) {\n \t\tlogerror(\"'%s': service not enabled.\", service->name);\n@@ -534,10 +535,10 @@ static void fill_in_extra_table_entries(struct interp *itable)\n static int execute(struct sockaddr *addr)\n {\n \tstatic char line[1000];\n+\tchar addrbuf[256] = \"\";\n \tint pktlen, len, i;\n \n \tif (addr) {\n-\t\tchar addrbuf[256] = \"\";\n \t\tint port = -1;\n \n \t\tif (addr->sa_family == AF_INET) {\n@@ -556,7 +557,6 @@ static int execute(struct sockaddr *addr)\n \t\t\tport = ntohs(sin6_addr->sin6_port);\n #endif\n \t\t}\n-\t\tloginfo(\"Connection from %s:%d\", addrbuf, port);\n \t}\n \n \talarm(init_timeout ? init_timeout : timeout);\n@@ -564,10 +564,6 @@ static int execute(struct sockaddr *addr)\n \talarm(0);\n \n \tlen = strlen(line);\n-\tif (pktlen != len)\n-\t\tloginfo(\"Extended attributes (%d bytes) exist <%.*s>\",\n-\t\t\t(int) pktlen - len,\n-\t\t\t(int) pktlen - len, line + len + 1);\n \tif (len && line[len-1] == '\\n') {\n \t\tline[--len] = 0;\n \t\tpktlen--;\n@@ -596,7 +592,7 @@ static int execute(struct sockaddr *addr)\n \t\t\t */\n \t\t\tinterp_set_entry(interp_table,\n \t\t\t\t\t INTERP_SLOT_DIR, line + namelen + 5);\n-\t\t\treturn run_service(interp_table, s);\n+\t\t\treturn run_service(interp_table, s, addrbuf);\n \t\t}\n \t}\n \n"},{"id":"95951","messageId":"F8349F16-7ABA-4C00-9AE3-F579197D27B8@gmail.com","threadId":"16307","inReplyTo":"alpine.LNX.1.10.0811131749420.16134@fbirervta.pbzchgretzou.qr","subject":"Re: git-daemon: single-line logging","fromName":"Thomas Harning","fromEmail":"harningt@gmail.com","sentAt":"2008-11-16T16:08:42Z","receivedAt":"2008-11-16T16:08:42Z","isPatch":false,"sender":{"key":"harningt@gmail.com","avatar":"https://gravatar.com/avatar/a79ddd43da8c8f1f899cd75b7b95cc5f3b2ba5643400468988b1a12c86b75d08?d=mp&s=160"},"body":"On Nov 13, 2008, at 11:51 AM, Jan Engelhardt wrote:\n> I wrote this patch for my git-daemon to make it much easier to parse\n> /var/log/git-daemon.log -- namely reducing the output from three lines\n> per connected client to just one.\n\nI think that this is a pretty good change, I'll have to try it out...\n\nOne thing I noticed was that there was some information lost in- \ntransition...\nThe immediate information lost that I see is the port used.\n"}]}