summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2023-09-27 13:19:46 +0200
committerGravatar default2023-09-27 13:19:46 +0200
commit9cce2ee1195cb08e2c27be7c9047e78be57425a3 (patch)
tree98c1a39c7857197dc205f60f915074454ba0bebc
parentAdded forgotten header. (diff)
downloadsnac2-9cce2ee1195cb08e2c27be7c9047e78be57425a3.tar.gz
snac2-9cce2ee1195cb08e2c27be7c9047e78be57425a3.tar.xz
snac2-9cce2ee1195cb08e2c27be7c9047e78be57425a3.zip
Some tweaks to the logging system.
-rw-r--r--snac.c28
-rw-r--r--snac.h18
2 files changed, 23 insertions, 23 deletions
diff --git a/snac.c b/snac.c
index e396135..683ff40 100644
--- a/snac.c
+++ b/snac.c
@@ -90,7 +90,7 @@ int validate_uid(const char *uid)
90} 90}
91 91
92 92
93void srv_debug(int level, xs_str *str) 93void srv_log(xs_str *str)
94/* logs a debug message */ 94/* logs a debug message */
95{ 95{
96 if (xs_str_in(str, srv_basedir) != -1) { 96 if (xs_str_in(str, srv_basedir) != -1) {
@@ -98,25 +98,23 @@ void srv_debug(int level, xs_str *str)
98 str = xs_replace_i(str, srv_basedir, "~"); 98 str = xs_replace_i(str, srv_basedir, "~");
99 } 99 }
100 100
101 if (dbglevel >= level) { 101 xs *tm = xs_str_localtime(0, "%H:%M:%S");
102 xs *tm = xs_str_localtime(0, "%H:%M:%S"); 102 fprintf(stderr, "%s %s\n", tm, str);
103 fprintf(stderr, "%s %s\n", tm, str); 103
104 104 /* if the ~/log/ folder exists, also write to a file there */
105 /* if the ~/log/ folder exists, also write to a file there */ 105 xs *dt = xs_str_localtime(0, "%Y-%m-%d");
106 xs *dt = xs_str_localtime(0, "%Y-%m-%d"); 106 xs *lf = xs_fmt("%s/log/%s.log", srv_basedir, dt);
107 xs *lf = xs_fmt("%s/log/%s.log", srv_basedir, dt); 107 FILE *f;
108 FILE *f; 108 if ((f = fopen(lf, "a")) != NULL) {
109 if ((f = fopen(lf, "a")) != NULL) { 109 fprintf(f, "%s %s\n", tm, str);
110 fprintf(f, "%s %s\n", tm, str); 110 fclose(f);
111 fclose(f);
112 }
113 } 111 }
114 112
115 xs_free(str); 113 xs_free(str);
116} 114}
117 115
118 116
119void snac_debug(snac *snac, int level, xs_str *str) 117void snac_log(snac *snac, xs_str *str)
120/* prints a user debugging information */ 118/* prints a user debugging information */
121{ 119{
122 xs *o_str = str; 120 xs *o_str = str;
@@ -127,7 +125,7 @@ void snac_debug(snac *snac, int level, xs_str *str)
127 msg = xs_replace_i(msg, snac->basedir, "~"); 125 msg = xs_replace_i(msg, snac->basedir, "~");
128 } 126 }
129 127
130 srv_debug(level, msg); 128 srv_log(msg);
131} 129}
132 130
133 131
diff --git a/snac.h b/snac.h
index 9b7f37a..9800bb5 100644
--- a/snac.h
+++ b/snac.h
@@ -27,11 +27,9 @@ int valid_status(int status);
27xs_str *tid(int offset); 27xs_str *tid(int offset);
28double ftime(void); 28double ftime(void);
29 29
30void srv_debug(int level, xs_str *str); 30void srv_log(xs_str *str);
31#define srv_log(str) srv_debug(0, str) 31#define srv_debug(level, str) do { if (dbglevel >= (level)) \
32 32 { srv_log((str)); } } while (0)
33int srv_open(char *basedir, int auto_upgrade);
34void srv_free(void);
35 33
36typedef struct _snac { 34typedef struct _snac {
37 xs_str *uid; /* uid */ 35 xs_str *uid; /* uid */
@@ -43,14 +41,18 @@ typedef struct _snac {
43 xs_str *md5; /* actor url md5 */ 41 xs_str *md5; /* actor url md5 */
44} snac; 42} snac;
45 43
44void snac_log(snac *user, xs_str *str);
45#define snac_debug(user, level, str) do { if (dbglevel >= (level)) \
46 { snac_log((user), (str)); } } while (0)
47
48int srv_open(char *basedir, int auto_upgrade);
49void srv_free(void);
50
46int user_open(snac *snac, const char *uid); 51int user_open(snac *snac, const char *uid);
47void user_free(snac *snac); 52void user_free(snac *snac);
48xs_list *user_list(void); 53xs_list *user_list(void);
49int user_open_by_md5(snac *snac, const char *md5); 54int user_open_by_md5(snac *snac, const char *md5);
50 55
51void snac_debug(snac *snac, int level, xs_str *str);
52#define snac_log(snac, str) snac_debug(snac, 0, str)
53
54int validate_uid(const char *uid); 56int validate_uid(const char *uid);
55 57
56xs_str *hash_password(const char *uid, const char *passwd, const char *nonce); 58xs_str *hash_password(const char *uid, const char *passwd, const char *nonce);