Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
gdut-drcom
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
gdut-drcom
Commits
09522e49
Commit
09522e49
authored
Dec 23, 2016
by
chenhaowen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add: logger
parent
25ab5979
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
125 additions
and
1 deletion
+125
-1
src/Makefile
src/Makefile
+1
-1
src/logger.c
src/logger.c
+82
-0
src/logger.h
src/logger.h
+42
-0
No files found.
src/Makefile
View file @
09522e49
...
...
@@ -4,7 +4,7 @@ NAME=gdut-drcom
CFLAGS
+=
-Wall
-O3
-fPIC
-DDEBUG
-DVERSION
=
$(VERSION)
objects
=
config.o auth.o
objects
=
config.o auth.o
logger.o
# detect OS
ifeq
($(OS), Windows_NT)
...
...
src/logger.c
0 → 100644
View file @
09522e49
#include "logger.h"
Logger
*
Logger_create
(
void
)
{
Logger
*
l
=
(
Logger
*
)
malloc
(
sizeof
(
Logger
));
if
(
l
==
NULL
)
return
NULL
;
l
->
datetime_format
=
(
char
*
)
"%Y-%m-%d %H:%M:%S"
;
l
->
level
=
LOG_INFO
;
l
->
fp
=
stdout
;
return
l
;
}
void
Logger_free
(
Logger
*
l
)
{
if
(
l
!=
NULL
)
{
if
(
fileno
(
l
->
fp
)
!=
STDOUT_FILENO
)
fclose
(
l
->
fp
);
free
(
l
);
}
}
void
log_add
(
Logger
*
l
,
int
level
,
const
char
*
msg
)
{
if
(
level
<
l
->
level
)
return
;
time_t
meow
=
time
(
NULL
);
char
buf
[
64
];
strftime
(
buf
,
sizeof
(
buf
),
l
->
datetime_format
,
localtime
(
&
meow
));
fprintf
(
l
->
fp
,
"[%d] %c, %s : %s
\n
"
,
(
int
)
getpid
(),
LOG_LEVEL_CHARS
[
level
],
buf
,
msg
);
}
void
log_debug
(
Logger
*
l
,
const
char
*
fmt
,
...)
{
va_list
ap
;
char
msg
[
LOG_MAX_MSG_LEN
];
va_start
(
ap
,
fmt
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
log_add
(
l
,
LOG_DEBUG
,
msg
);
va_end
(
ap
);
}
void
log_info
(
Logger
*
l
,
const
char
*
fmt
,
...)
{
va_list
ap
;
char
msg
[
LOG_MAX_MSG_LEN
];
va_start
(
ap
,
fmt
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
log_add
(
l
,
LOG_INFO
,
msg
);
va_end
(
ap
);
}
void
log_warn
(
Logger
*
l
,
const
char
*
fmt
,
...)
{
va_list
ap
;
char
msg
[
LOG_MAX_MSG_LEN
];
va_start
(
ap
,
fmt
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
log_add
(
l
,
LOG_WARN
,
msg
);
va_end
(
ap
);
}
void
log_error
(
Logger
*
l
,
const
char
*
fmt
,
...)
{
va_list
ap
;
char
msg
[
LOG_MAX_MSG_LEN
];
va_start
(
ap
,
fmt
);
vsnprintf
(
msg
,
sizeof
(
msg
),
fmt
,
ap
);
log_add
(
l
,
LOG_ERROR
,
msg
);
va_end
(
ap
);
}
src/logger.h
0 → 100644
View file @
09522e49
#ifndef _LOGGER_H_
#define _LOGGER_H_
#ifdef __cplusplus
extern
"C"
{
#endif
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <stdarg.h>
#include <unistd.h>
#define LOG_DEBUG 0
#define LOG_INFO 1
#define LOG_WARN 2
#define LOG_ERROR 3
#define LOG_LEVEL_CHARS "DIWEF"
#define LOG_MAX_MSG_LEN 1024
struct
_Logger
{
int
level
;
char
*
datetime_format
;
FILE
*
fp
;
};
typedef
struct
_Logger
Logger
;
Logger
*
Logger_create
(
void
);
void
Logger_free
(
Logger
*
l
);
void
log_add
(
Logger
*
l
,
int
level
,
const
char
*
msg
);
void
log_debug
(
Logger
*
l
,
const
char
*
fmt
,
...);
void
log_info
(
Logger
*
l
,
const
char
*
fmt
,
...);
void
log_warn
(
Logger
*
l
,
const
char
*
fmt
,
...);
void
log_error
(
Logger
*
l
,
const
char
*
fmt
,
...);
#ifdef __cplusplus
}
#endif
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment