thermferm/logger.c

changeset 86
3d7a241329e2
parent 65
a08a1fce439e
child 104
5e538c4e1ecb
--- a/thermferm/logger.c	Tue Jul 01 21:53:03 2014 +0200
+++ b/thermferm/logger.c	Tue Jul 01 23:14:57 2014 +0200
@@ -22,8 +22,6 @@
 
 #include "thermferm.h"
 
-//char		check[10240] = "";
-
 
 void logger(char *filename, char *progname, char *data)
 {
@@ -32,9 +30,15 @@
     char		*outstr = NULL, *name = NULL;
     FILE		*logfile;
 
-    name = xstrcpy((char *)"/var/local/log/");
+    if (getenv((char *)"USER") == NULL) {
+	name = xstrcpy((char *)"/root");
+    } else {
+	name = xstrcpy(getenv((char *)"HOME"));
+    }
+    name = xstrcat(name, (char *)"/.");
     name = xstrcat(name, progname);
-    name = xstrcat(name, (char *)"/");
+    name = xstrcat(name, (char *)"/log/");
+    mkdirs(name, 0755);
     name = xstrcat(name, filename);
 
     gettimeofday(&now, NULL);
@@ -42,15 +46,12 @@
     outstr = calloc(10240, sizeof(char));
     snprintf(outstr, 10239, "%04d-%02d-%02d %02d:%02d,%s\n", ptm.tm_year + 1900, ptm.tm_mon + 1, ptm.tm_mday, ptm.tm_hour, ptm.tm_min, data);
 
-//    if (strcmp(check, outstr)) {
-//	snprintf(check, 10239, "%04d-%02d-%02d %02d:%02d,%s\n", ptm.tm_year + 1900, ptm.tm_mon + 1, ptm.tm_mday, ptm.tm_hour, ptm.tm_min, data);
-    	if ((logfile = fopen(name, "a+"))) {
-	    fprintf(logfile, outstr);
-	    fclose(logfile);
-    	} else {
-	    syslog(LOG_NOTICE, "logger: cannot open %s for writing", name);
-    	}
-//    }
+    if ((logfile = fopen(name, "a+"))) {
+	fprintf(logfile, outstr);
+	fclose(logfile);
+    } else {
+	syslog(LOG_NOTICE, "logger: cannot open %s for writing", name);
+    }
 
     free(outstr);
     outstr = NULL;

mercurial