Skip to content

Commit 76c8f8f

Browse files
committed
Refactor logger
1 parent 857770a commit 76c8f8f

File tree

8 files changed

+93
-58
lines changed

8 files changed

+93
-58
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
build
22
.cache
3+
llvm
4+
.cscope*

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Directory Structure
2+
3+
```
4+
.
5+
├── docs
6+
├── external
7+
│   └── libmcu
8+
├── include
9+
├── ports
10+
│   └── esp-idf
11+
├── src
12+
└── tests
13+
├── fakes
14+
├── mocks
15+
├── runners
16+
├── src
17+
└── stubs
18+
```
19+
20+
| Directory | Desc. |
21+
| --------- | ------------------------------------------------------------------- |
22+
| docs | Documentation |
23+
| external | Third-party libraries or SDK. e.g. ESP-IDF |
24+
| include | The project header files |
25+
| ports | Wrappers or glue code to bring third-party drivers into the project |
26+
| src | Application code. No hardware or platform-specific code |
27+
| tests | Test codes |
28+

include/logger.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2023 Kyunghwan Kwon <k@libmcu.org>
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*/
6+
7+
#ifndef LOGGER_H
8+
#define LOGGER_H
9+
10+
#if defined(__cplusplus)
11+
extern "C" {
12+
#endif
13+
14+
#include "libmcu/logging.h"
15+
16+
void logger_init(void);
17+
18+
#if defined(__cplusplus)
19+
}
20+
#endif
21+
22+
#endif /* LOGGER_H */

include/logging.h

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/logger.c

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2023 Kyunghwan Kwon <k@libmcu.org>
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*/
6+
7+
#include "logger.h"
8+
#include <stdio.h>
9+
#include "libmcu/board.h"
10+
11+
static size_t logger_writer(const void *data, size_t size)
12+
{
13+
unused(size);
14+
static char buf[LOGGING_MESSAGE_MAXLEN];
15+
size_t len = logging_stringify(buf, sizeof(buf)-2, data);
16+
17+
buf[len++] = '\n';
18+
buf[len] = '\0';
19+
20+
const size_t rc = fwrite(buf, len, 1, stdout);
21+
22+
return rc == 0? len : 0;
23+
}
24+
25+
static void initialize_backend_stdout(void)
26+
{
27+
static struct logging_backend log_console = {
28+
.write = logger_writer,
29+
};
30+
31+
logging_add_backend(&log_console);
32+
}
33+
34+
void logger_init(void)
35+
{
36+
logging_init(board_get_time_since_boot_ms);
37+
initialize_backend_stdout();
38+
}

src/logging.c

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/main.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@
99
#include "libmcu/gpio.h"
1010

1111
#include "pinmap.h"
12-
#include "logging.h"
12+
#include "logger.h"
1313

1414
int main(void)
1515
{
1616
board_init(); /* should be called very first. */
17-
18-
logging_init(board_get_time_since_boot_ms);
19-
logging_stdout_backend_init();
17+
logger_init();
2018

2119
const board_reboot_reason_t reboot_reason = board_get_reboot_reason();
2220
info("[%s] %s %s", board_get_reboot_reason_string(reboot_reason),

0 commit comments

Comments
 (0)