Skip to content

Commit

Permalink
vault backup: 2024-10-20 14:10:43
Browse files Browse the repository at this point in the history
  • Loading branch information
sdasd22q committed Oct 20, 2024
1 parent 2e9a60c commit 9e14e12
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 9 deletions.
19 changes: 10 additions & 9 deletions docs/blog/.obsidian/workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
"state": {
"type": "markdown",
"state": {
"file": "frontend/node/node-send-email.md",
"file": "frontend/node/node-log.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "node-send-email"
"title": "node-log"
}
}
]
Expand Down Expand Up @@ -93,7 +93,7 @@
"state": {
"type": "backlink",
"state": {
"file": "frontend/node/node-send-email.md",
"file": "frontend/node/node-log.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
Expand All @@ -103,7 +103,7 @@
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "node-send-email 的反向链接列表"
"title": "node-log 的反向链接列表"
}
},
{
Expand All @@ -112,12 +112,12 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "frontend/node/node-send-email.md",
"file": "frontend/node/node-log.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "node-send-email 的出链列表"
"title": "node-log 的出链列表"
}
},
{
Expand All @@ -139,10 +139,10 @@
"state": {
"type": "outline",
"state": {
"file": "frontend/node/node-send-email.md"
"file": "frontend/node/node-log.md"
},
"icon": "lucide-list",
"title": "node-send-email 的大纲"
"title": "node-log 的大纲"
}
}
]
Expand All @@ -164,8 +164,9 @@
},
"active": "4356ccb312dc0979",
"lastOpenFiles": [
"frontend/node/nest-core.md",
"frontend/node/node-send-email.md",
"frontend/node/node-log.md",
"frontend/node/nest-core.md",
"frontend/node/oss-upload.md",
"frontend/node/file-upload.md",
"frontend/browser/cache.md",
Expand Down
76 changes: 76 additions & 0 deletions docs/blog/frontend/node/node-log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# node 日志

## nest 中是如何打印日志的

```ts
import { ConsoleLogger, Controller, Get, Logger } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
private logger = new Logger();

constructor(private readonly appService: AppService) {}

@Get()
getHello(): string {
this.logger.debug('aaa', AppController.name);
this.logger.error('bbb', AppController.name);
this.logger.log('ccc', AppController.name);
this.logger.verbose('ddd', AppController.name);
this.logger.warn('eee', AppController.name);

return this.appService.getHello();
}
}
```

![image.png](https://codertzm.oss-cn-chengdu.aliyuncs.com/20241020140600.png)

这里的 `verbose``debug``log``warn``error` 就是日志级别,而 `[]` 中的是 `context`,也就是当前所在的上下文,最后是日志的内容。

这个日志是受 `nest` 控制的,可以在创建应用的时候指定是否开启,设置为 `false` 之后就没有日志了:

![image.png](https://codertzm.oss-cn-chengdu.aliyuncs.com/20241020140648.png)

![image.png](https://codertzm.oss-cn-chengdu.aliyuncs.com/20241020140713.png)

也可以自己决定输出什么级别的日志:

![image.png](https://codertzm.oss-cn-chengdu.aliyuncs.com/20241020140822.png)

此外,你还可以自定义日志打印的方式,定义一个实现 LoggerService 接口的类:

```ts
import { LoggerService, LogLevel } from '@nestjs/common';

export class MyLogger implements LoggerService {
log(message: string, context: string) {
console.log(`---log---[${context}]---`, message)
}

error(message: string, context: string) {
console.log(`---error---[${context}]---`, message)
}

warn(message: string, context: string) {
console.log(`---warn---[${context}]---`, message)
}
}
```

在创建应用时指定这个 logger:

![image.png](https://codertzm.oss-cn-chengdu.aliyuncs.com/20241020141006.png)

也可以不自己实现 LoggerService 的全部方法,而是继承 ConsoleLogger,重写一些方法:

```ts
import { ConsoleLogger } from '@nestjs/common';

export class MyLogger2 extends ConsoleLogger{
log(message: string, context: string) {
console.log(`[${context}]`,message)
}
}
```

0 comments on commit 9e14e12

Please sign in to comment.