log: avoid using string__plus memory leak (#11128)
parent
70124d2d23
commit
18be9e52be
|
@ -4,12 +4,11 @@
|
||||||
module term
|
module term
|
||||||
|
|
||||||
pub fn format(msg string, open string, close string) string {
|
pub fn format(msg string, open string, close string) string {
|
||||||
return '\x1b[' + open + 'm' + msg + '\x1b[' + close + 'm'
|
return '\x1b[${open}m$msg\x1b[${close}m'
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn format_rgb(r int, g int, b int, msg string, open string, close string) string {
|
pub fn format_rgb(r int, g int, b int, msg string, open string, close string) string {
|
||||||
return '\x1b[' + open + ';2;' + r.str() + ';' + g.str() + ';' + b.str() + 'm' + msg + '\x1b[' +
|
return '\x1b[$open;2;$r;$g;${b}m$msg\x1b[${close}m'
|
||||||
close + 'm'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn rgb(r int, g int, b int, msg string) string {
|
pub fn rgb(r int, g int, b int, msg string) string {
|
||||||
|
|
|
@ -117,7 +117,7 @@ pub fn (t Time) get_fmt_date_str(fmt_dlmtr FormatDelimiter, fmt_date FormatDate)
|
||||||
if fmt_date == .no_date {
|
if fmt_date == .no_date {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
month := '$t.smonth()'
|
month := t.smonth()
|
||||||
year := '${(t.year % 100):02d}'
|
year := '${(t.year % 100):02d}'
|
||||||
mut res := match fmt_date {
|
mut res := match fmt_date {
|
||||||
.ddmmyy { '${t.day:02d}|${t.month:02d}|$year' }
|
.ddmmyy { '${t.day:02d}|${t.month:02d}|$year' }
|
||||||
|
@ -156,7 +156,9 @@ pub fn (t Time) get_fmt_str(fmt_dlmtr FormatDelimiter, fmt_time FormatTime, fmt_
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if fmt_time != .no_time {
|
if fmt_time != .no_time {
|
||||||
return t.get_fmt_date_str(fmt_dlmtr, fmt_date) + ' ' + t.get_fmt_time_str(fmt_time)
|
dstr := t.get_fmt_date_str(fmt_dlmtr, fmt_date)
|
||||||
|
tstr := t.get_fmt_time_str(fmt_time)
|
||||||
|
return '$dstr $tstr'
|
||||||
} else {
|
} else {
|
||||||
return t.get_fmt_date_str(fmt_dlmtr, fmt_date)
|
return t.get_fmt_date_str(fmt_dlmtr, fmt_date)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import log
|
||||||
|
import time
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
mut l := log.Log{}
|
||||||
|
defer {
|
||||||
|
l.close()
|
||||||
|
}
|
||||||
|
l.set_level(.info)
|
||||||
|
l.info('info')
|
||||||
|
l.warn('warn')
|
||||||
|
l.error('an error')
|
||||||
|
l.debug('some debug info')
|
||||||
|
for i := 0; i < 100; i++ {
|
||||||
|
l.info('123456')
|
||||||
|
time.sleep(1 * time.millisecond)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue