@@ -24,8 +24,11 @@ export { Logger } from 'winston';
2424let logger : winston . Logger ;
2525
2626const logFilePath = path . join ( LOG_PATH , `${ formatDateTime ( new Date ( ) ) } .log` ) ;
27+ const startTime = new Date ( ) ;
2728
2829export default function getLogger ( level ?: string ) {
30+ const isCI = ! ! process . env . CLOUDBASE_CIID ;
31+
2932 if ( ! logger ) {
3033 // 初始化 logger
3134 try {
@@ -34,36 +37,50 @@ export default function getLogger(level?: string) {
3437
3538 logger = winston . createLogger ( {
3639 level : level || 'info' ,
37- transports : [
38- new winston . transports . Console ( {
39- format : format . combine (
40- format . cli ( ) ,
41- format . printf ( ( info ) => {
40+ transports : isCI
41+ ? new winston . transports . Console ( {
42+ format : format . printf ( ( info ) => {
4243 const splat = info [ Symbol . for ( 'splat' ) as any ] ;
4344 return (
44- `${ chalk . bold (
45- gradient ( [ 'cyan' , 'rgb(0, 111, 150)' , 'rgb(0, 246,136)' ] ) (
46- ' CloudBase Framework '
47- )
48- ) } ${ info . level } ${ info . message } ` +
49- ( splat ? ` ${ splat . map ( inspect ) . join ( ' ' ) } ` : '' )
45+ `${ new Date ( ) } ${ (
46+ ( new Date ( ) . valueOf ( ) - startTime . valueOf ( ) ) /
47+ 1000
48+ ) . toFixed ( 1 ) } CloudBase Framework:: ${ info . level } ${
49+ info . message
50+ } ` + ( splat ? ` ${ splat . map ( inspect ) . join ( ' ' ) } ` : '' )
5051 ) ;
51- } )
52- ) ,
53- } ) ,
54- new winston . transports . File ( {
55- filename : logFilePath ,
56- level : 'debug' ,
57- format : format . printf ( ( info ) => {
58- const splat = info [ Symbol . for ( 'splat' ) as any ] ;
59- return (
60- `${ new Date ( ) } CloudBase Framework::${ info . level } ${
61- info . message
62- } ` + ( splat ? ` ${ splat . map ( inspect ) . join ( ' ' ) } ` : '' )
63- ) ;
64- } ) ,
65- } ) ,
66- ] ,
52+ } ) ,
53+ } )
54+ : [
55+ new winston . transports . Console ( {
56+ format : format . combine (
57+ format . cli ( ) ,
58+ format . printf ( ( info ) => {
59+ const splat = info [ Symbol . for ( 'splat' ) as any ] ;
60+ return (
61+ `${ chalk . bold (
62+ gradient ( [ 'cyan' , 'rgb(0, 111, 150)' , 'rgb(0, 246,136)' ] ) (
63+ ' CloudBase Framework '
64+ )
65+ ) } ${ info . level } ${ info . message } ` +
66+ ( splat ? ` ${ splat . map ( inspect ) . join ( ' ' ) } ` : '' )
67+ ) ;
68+ } )
69+ ) ,
70+ } ) ,
71+ new winston . transports . File ( {
72+ filename : logFilePath ,
73+ level : 'debug' ,
74+ format : format . printf ( ( info ) => {
75+ const splat = info [ Symbol . for ( 'splat' ) as any ] ;
76+ return (
77+ `${ new Date ( ) } CloudBase Framework::${ info . level } ${
78+ info . message
79+ } ` + ( splat ? ` ${ splat . map ( inspect ) . join ( ' ' ) } ` : '' )
80+ ) ;
81+ } ) ,
82+ } ) ,
83+ ] ,
6784 } ) ;
6885 }
6986
0 commit comments