From 8ddc118263514e38cc4b7bed661464d2f318e0b4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sun, 25 Sep 2011 21:48:30 +0000 Subject: [PATCH] added log file --- NEWS | 1 + po/POTFILES.in | 1 + src/lib/Makefile.am | 1 + src/lib/Makefile.in | 31 ++++++++++++++++++++++++------- src/lib/psensor.h | 1 + src/main.c | 33 ++++++++++++++++++++++++++++++--- src/ui.c | 7 +++++-- src/ui_appindicator.c | 4 ++++ 8 files changed, 67 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 1754809..2068d8b 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ allowed). ** psensor-server/web interface: dynamic refresh of the graph. ** psensor: added appindicator monochrome icons. +** psensor: added log file (~/.psensor/log). * v0.6.2.10 ** psensor-server: added network, cpu load and memory information in diff --git a/po/POTFILES.in b/po/POTFILES.in index 1bde9b0..a99bf87 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -10,6 +10,7 @@ src/rsensor.c src/server/server.c src/lib/amd.c src/lib/hdd.c +src/lib/log.c src/lib/nvidia.c src/lib/lmsensor.c src/lib/psensor.c diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index a60d35a..7348b6c 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -7,6 +7,7 @@ libpsensor_a_SOURCES = \ cpu.h \ measure.h measure.c \ color.h color.c \ + log.h log.c \ psensor.h psensor.c\ hdd.h hdd.c\ nvidia.h \ diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index c75cfbe..61f517f 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -58,15 +58,16 @@ ARFLAGS = cru libpsensor_a_AR = $(AR) $(ARFLAGS) libpsensor_a_LIBADD = am__libpsensor_a_SOURCES_DIST = amd.h cpu.h measure.h measure.c \ - color.h color.c psensor.h psensor.c hdd.h hdd.c nvidia.h \ - lmsensor.h lmsensor.c nvidia.c amd.c cpu.c + color.h color.c log.h log.c psensor.h psensor.c hdd.h hdd.c \ + nvidia.h lmsensor.h lmsensor.c nvidia.c amd.c cpu.c @NVIDIA_TRUE@am__objects_1 = libpsensor_a-nvidia.$(OBJEXT) @LIBATIADL_TRUE@am__objects_2 = libpsensor_a-amd.$(OBJEXT) @GTOP_TRUE@am__objects_3 = libpsensor_a-cpu.$(OBJEXT) am_libpsensor_a_OBJECTS = libpsensor_a-measure.$(OBJEXT) \ - libpsensor_a-color.$(OBJEXT) libpsensor_a-psensor.$(OBJEXT) \ - libpsensor_a-hdd.$(OBJEXT) libpsensor_a-lmsensor.$(OBJEXT) \ - $(am__objects_1) $(am__objects_2) $(am__objects_3) + libpsensor_a-color.$(OBJEXT) libpsensor_a-log.$(OBJEXT) \ + libpsensor_a-psensor.$(OBJEXT) libpsensor_a-hdd.$(OBJEXT) \ + libpsensor_a-lmsensor.$(OBJEXT) $(am__objects_1) \ + $(am__objects_2) $(am__objects_3) libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -228,8 +229,9 @@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libpsensor.a libpsensor_a_CFLAGS = -Wall -Werror $(am__append_5) libpsensor_a_SOURCES = amd.h cpu.h measure.h measure.c color.h color.c \ - psensor.h psensor.c hdd.h hdd.c nvidia.h lmsensor.h lmsensor.c \ - $(am__append_1) $(am__append_4) $(am__append_6) + log.h log.c psensor.h psensor.c hdd.h hdd.c nvidia.h \ + lmsensor.h lmsensor.c $(am__append_1) $(am__append_4) \ + $(am__append_6) AM_CPPFLAGS = $(am__append_3) $(am__append_8) EXTRA_DIST = $(libpsensor_a_SOURCES) \ amd.c \ @@ -289,6 +291,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-cpu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-hdd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-lmsensor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-measure.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-nvidia.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsensor_a-psensor.Po@am__quote@ @@ -335,6 +338,20 @@ libpsensor_a-color.obj: color.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-color.obj `if test -f 'color.c'; then $(CYGPATH_W) 'color.c'; else $(CYGPATH_W) '$(srcdir)/color.c'; fi` +libpsensor_a-log.o: log.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-log.o -MD -MP -MF $(DEPDIR)/libpsensor_a-log.Tpo -c -o libpsensor_a-log.o `test -f 'log.c' || echo '$(srcdir)/'`log.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsensor_a-log.Tpo $(DEPDIR)/libpsensor_a-log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='log.c' object='libpsensor_a-log.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-log.o `test -f 'log.c' || echo '$(srcdir)/'`log.c + +libpsensor_a-log.obj: log.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-log.obj -MD -MP -MF $(DEPDIR)/libpsensor_a-log.Tpo -c -o libpsensor_a-log.obj `if test -f 'log.c'; then $(CYGPATH_W) 'log.c'; else $(CYGPATH_W) '$(srcdir)/log.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsensor_a-log.Tpo $(DEPDIR)/libpsensor_a-log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='log.c' object='libpsensor_a-log.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -c -o libpsensor_a-log.obj `if test -f 'log.c'; then $(CYGPATH_W) 'log.c'; else $(CYGPATH_W) '$(srcdir)/log.c'; fi` + libpsensor_a-psensor.o: psensor.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsensor_a_CFLAGS) $(CFLAGS) -MT libpsensor_a-psensor.o -MD -MP -MF $(DEPDIR)/libpsensor_a-psensor.Tpo -c -o libpsensor_a-psensor.o `test -f 'psensor.c' || echo '$(srcdir)/'`psensor.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsensor_a-psensor.Tpo $(DEPDIR)/libpsensor_a-psensor.Po diff --git a/src/lib/psensor.h b/src/lib/psensor.h index 099556f..b0d3402 100644 --- a/src/lib/psensor.h +++ b/src/lib/psensor.h @@ -24,6 +24,7 @@ #include #include "color.h" +#include "log.h" #include "measure.h" enum psensor_type { diff --git a/src/main.c b/src/main.c index ee6c2e0..7fc5892 100644 --- a/src/main.c +++ b/src/main.c @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include @@ -204,7 +206,7 @@ void cb_alarm_raised(struct psensor *sensor, void *data) #endif } -void associate_colors(struct psensor **sensors) +static void associate_colors(struct psensor **sensors) { /* number of uniq colors */ #define COLORS_COUNT 8 @@ -239,7 +241,7 @@ void associate_colors(struct psensor **sensors) } } -void +static void associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) { struct psensor **sensor_cur = sensors; @@ -263,7 +265,7 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) } } -void associate_preferences(struct psensor **sensors) +static void associate_preferences(struct psensor **sensors) { struct psensor **sensor_cur = sensors; while (*sensor_cur) { @@ -281,6 +283,27 @@ void associate_preferences(struct psensor **sensors) } } +static void log_init() +{ + char *home, *path, *dir; + + home = getenv("HOME"); + + if (!home) + return ; + + dir = malloc(strlen(home)+1+strlen(".psensor")+1); + sprintf(dir, "%s/%s", home, ".psensor"); + mkdir(dir, 0777); + + path = malloc(strlen(dir)+1+strlen("log")+1); + sprintf(path, "%s/%s", dir, "log"); + + log_open(path, LOG_INFO); + + free(dir); + free(path); +} static struct option long_options[] = { {"version", no_argument, 0, 'v'}, @@ -332,6 +355,8 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } + log_init(); + g_thread_init(NULL); gdk_threads_init(); /* gdk_threads_enter(); */ @@ -423,5 +448,7 @@ int main(int argc, char **argv) config_cleanup(); + log_close(); + return 0; } diff --git a/src/ui.c b/src/ui.c index 23afe1a..9476dee 100644 --- a/src/ui.c +++ b/src/ui.c @@ -31,10 +31,13 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) struct ui_psensor *ui = data; #if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) - if (is_appindicator_supported()) + if (is_appindicator_supported()) { + log_puts(LOG_DEBUG, "hiding, WM is supporting appindicator"); gtk_widget_hide(ui->main_window); - else + } else { + log_puts(LOG_DEBUG, "quitting, WM not supporting appindicator"); ui_psensor_quit(ui); + } #else ui_psensor_quit(ui); #endif diff --git a/src/ui_appindicator.c b/src/ui_appindicator.c index 3074ac2..317e238 100644 --- a/src/ui_appindicator.c +++ b/src/ui_appindicator.c @@ -232,6 +232,8 @@ void ui_appindicator_update(struct ui_psensor *ui) static GtkStatusIcon *unity_fallback(AppIndicator *indicator) { + log_puts(LOG_DEBUG, "ui_appindicator#unity_fallback"); + gtk_widget_show_all(main_window); appindicator_supported = 0; @@ -242,6 +244,8 @@ static GtkStatusIcon *unity_fallback(AppIndicator *indicator) static void unity_unfallback(AppIndicator *indicator, GtkStatusIcon *status_icon) { + log_puts(LOG_DEBUG, "ui_appindicator#unity_unfallback"); + appindicator_supported = 1; } -- 2.7.4