mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 20:23:06 +00:00
use skynet_now for timestamp
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
struct logger {
|
struct logger {
|
||||||
FILE * handle;
|
FILE * handle;
|
||||||
char * filename;
|
char * filename;
|
||||||
|
uint32_t starttime;
|
||||||
int close;
|
int close;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -33,13 +34,14 @@ logger_release(struct logger * inst) {
|
|||||||
|
|
||||||
#define SIZETIMEFMT 250
|
#define SIZETIMEFMT 250
|
||||||
|
|
||||||
static const char *
|
static int
|
||||||
timestring(char tmp[SIZETIMEFMT]) {
|
timestring(struct logger *inst, char tmp[SIZETIMEFMT]) {
|
||||||
time_t ti;
|
uint64_t now = skynet_now();
|
||||||
|
time_t ti = now/100 + inst->starttime;
|
||||||
time(&ti);
|
time(&ti);
|
||||||
struct tm *info = localtime(&ti);
|
struct tm *info = localtime(&ti);
|
||||||
strftime(tmp, SIZETIMEFMT, "%D %T", info);
|
strftime(tmp, SIZETIMEFMT, "%D %T", info);
|
||||||
return tmp;
|
return now % 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -54,7 +56,8 @@ logger_cb(struct skynet_context * context, void *ud, int type, int session, uint
|
|||||||
case PTYPE_TEXT:
|
case PTYPE_TEXT:
|
||||||
if (inst->filename) {
|
if (inst->filename) {
|
||||||
char tmp[SIZETIMEFMT];
|
char tmp[SIZETIMEFMT];
|
||||||
fprintf(inst->handle, "%s", timestring(tmp));
|
int msec = timestring(ud, tmp);
|
||||||
|
fprintf(inst->handle, "%s.%02d ", tmp, msec);
|
||||||
}
|
}
|
||||||
fprintf(inst->handle, "[:%08x] ", source);
|
fprintf(inst->handle, "[:%08x] ", source);
|
||||||
fwrite(msg, sz , 1, inst->handle);
|
fwrite(msg, sz , 1, inst->handle);
|
||||||
@@ -68,6 +71,8 @@ logger_cb(struct skynet_context * context, void *ud, int type, int session, uint
|
|||||||
|
|
||||||
int
|
int
|
||||||
logger_init(struct logger * inst, struct skynet_context *ctx, const char * parm) {
|
logger_init(struct logger * inst, struct skynet_context *ctx, const char * parm) {
|
||||||
|
const char * r = skynet_command(ctx, "STARTTIME", NULL);
|
||||||
|
inst->starttime = strtoul(r, NULL, 10);
|
||||||
if (parm) {
|
if (parm) {
|
||||||
inst->handle = fopen(parm,"a");
|
inst->handle = fopen(parm,"a");
|
||||||
if (inst->handle == NULL) {
|
if (inst->handle == NULL) {
|
||||||
|
|||||||
Reference in New Issue
Block a user