log
Go 언어 표준 라이브러리 log 패키지는 간단한 로깅을 구현합니다.
go
func main() {
log.Println("로그")
log.Panicln("panic 로그")
log.Fatalln("오류 로그")
}Fatal 은 로그 정보를 출력한 후 os.exit(1) 을 호출하며, panic 은 panic 을 발생시킵니다.
접두사
go
func (l *Logger) Prefix() string //접두사 가져오기
func (l *Logger) SetPrefix(prefix string) //접두사 설정예시
go
func main() {
log.SetPrefix("[main]")
log.Println("로그")
log.Panicln("panic 로그")
}Flag
메서드
go
func (l *Logger) Flags() int //가져오기
func (l *Logger) SetFlags(flag int) //설정상수
go
const (
Ldate = 1 << iota // 날짜
Ltime // 시간
Lmicroseconds // 마이크로초
Llongfile // 전체 파일 이름
Lshortfile // 짧은 파일 이름
LUTC // 시간대
Lmsgprefix // 접두사
LstdFlags = Ldate | Ltime // 초기값
)예시
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("로그")
log.Panicln("panic 로그")
}물론 log.SetOutput(w io.Writer) 를 사용하여 로그 출력 경로를 설정할 수도 있으며, New 메서드를 사용하여 자신의 인스턴스를 생성할 수도 있습니다.
go
func New(out io.Writer, prefix string, flag int) *Logger요컨대, 표준 라이브러리의 log 패키지가 제공하는 기능은 충분하지 않으므로, 일반적으로 zap 등 더욱 완벽한 서드파티 로그 패키지를 사용합니다.
