Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
b9d48b4a
Unverified
Commit
b9d48b4a
authored
Feb 20, 2017
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
log: add support for trace level, exit on critical
parent
ec7f81f4
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
0 deletions
+23
-0
README_ETHEREUM.md
log/README_ETHEREUM.md
+1
-0
format.go
log/format.go
+2
-0
logger.go
log/logger.go
+12
-0
root.go
log/root.go
+6
-0
syslog.go
log/syslog.go
+2
-0
No files found.
log/README_ETHEREUM.md
View file @
b9d48b4a
...
...
@@ -2,3 +2,4 @@ This package is a fork of https://github.com/inconshreveable/log15, with some
minor modifications required by the go-ethereum codebase:
*
Support for log level
`trace`
*
Modified behavior to exit on
`critical`
failure
log/format.go
View file @
b9d48b4a
...
...
@@ -58,6 +58,8 @@ func TerminalFormat() Format {
color
=
32
case
LvlDebug
:
color
=
36
case
LvlTrace
:
color
=
34
}
b
:=
&
bytes
.
Buffer
{}
...
...
log/logger.go
View file @
b9d48b4a
...
...
@@ -2,6 +2,7 @@ package log
import
(
"fmt"
"os"
"time"
"github.com/go-stack/stack"
...
...
@@ -20,11 +21,14 @@ const (
LvlWarn
LvlInfo
LvlDebug
LvlTrace
)
// Returns the name of a Lvl
func
(
l
Lvl
)
String
()
string
{
switch
l
{
case
LvlTrace
:
return
"trce"
case
LvlDebug
:
return
"dbug"
case
LvlInfo
:
...
...
@@ -44,6 +48,8 @@ func (l Lvl) String() string {
// Useful for parsing command line args and configuration files.
func
LvlFromString
(
lvlString
string
)
(
Lvl
,
error
)
{
switch
lvlString
{
case
"trace"
,
"trce"
:
return
LvlTrace
,
nil
case
"debug"
,
"dbug"
:
return
LvlDebug
,
nil
case
"info"
:
...
...
@@ -87,6 +93,7 @@ type Logger interface {
SetHandler
(
h
Handler
)
// Log a message at the given level with context key/value pairs
Trace
(
msg
string
,
ctx
...
interface
{})
Debug
(
msg
string
,
ctx
...
interface
{})
Info
(
msg
string
,
ctx
...
interface
{})
Warn
(
msg
string
,
ctx
...
interface
{})
...
...
@@ -128,6 +135,10 @@ func newContext(prefix []interface{}, suffix []interface{}) []interface{} {
return
newCtx
}
func
(
l
*
logger
)
Trace
(
msg
string
,
ctx
...
interface
{})
{
l
.
write
(
msg
,
LvlTrace
,
ctx
)
}
func
(
l
*
logger
)
Debug
(
msg
string
,
ctx
...
interface
{})
{
l
.
write
(
msg
,
LvlDebug
,
ctx
)
}
...
...
@@ -146,6 +157,7 @@ func (l *logger) Error(msg string, ctx ...interface{}) {
func
(
l
*
logger
)
Crit
(
msg
string
,
ctx
...
interface
{})
{
l
.
write
(
msg
,
LvlCrit
,
ctx
)
os
.
Exit
(
1
)
}
func
(
l
*
logger
)
GetHandler
()
Handler
{
...
...
log/root.go
View file @
b9d48b4a
...
...
@@ -41,6 +41,11 @@ func Root() Logger {
// etc.) to keep the call depth the same for all paths to logger.write so
// runtime.Caller(2) always refers to the call site in client code.
// Trace is a convenient alias for Root().Trace
func
Trace
(
msg
string
,
ctx
...
interface
{})
{
root
.
write
(
msg
,
LvlTrace
,
ctx
)
}
// Debug is a convenient alias for Root().Debug
func
Debug
(
msg
string
,
ctx
...
interface
{})
{
root
.
write
(
msg
,
LvlDebug
,
ctx
)
...
...
@@ -64,4 +69,5 @@ func Error(msg string, ctx ...interface{}) {
// Crit is a convenient alias for Root().Crit
func
Crit
(
msg
string
,
ctx
...
interface
{})
{
root
.
write
(
msg
,
LvlCrit
,
ctx
)
os
.
Exit
(
1
)
}
log/syslog.go
View file @
b9d48b4a
...
...
@@ -38,6 +38,8 @@ func sharedSyslog(fmtr Format, sysWr *syslog.Writer, err error) (Handler, error)
syslogFn
=
sysWr
.
Info
case
LvlDebug
:
syslogFn
=
sysWr
.
Debug
case
LvlTrace
:
syslogFn
=
func
(
m
string
)
error
{
return
nil
}
// There's no syslog level for trace
}
s
:=
strings
.
TrimSpace
(
string
(
fmtr
.
Format
(
r
)))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment