Add option to toggle date/time in log messages
This commit is contained in:
		
							parent
							
								
									f7b7b63e3f
								
							
						
					
					
						commit
						91508c50b5
					
				
					 5 changed files with 49 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -78,6 +78,10 @@ func Parse() {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if config.Opts.LogDateTime() {
 | 
			
		||||
		logger.EnableDateTime()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if flagDebugMode || config.Opts.HasDebugMode() {
 | 
			
		||||
		logger.EnableDebug()
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ import (
 | 
			
		|||
 | 
			
		||||
const (
 | 
			
		||||
	defaultHTTPS                 = false
 | 
			
		||||
	defaultLogDateTime           = false
 | 
			
		||||
	defaultHSTS                  = true
 | 
			
		||||
	defaultHTTPService           = true
 | 
			
		||||
	defaultSchedulerService      = true
 | 
			
		||||
| 
						 | 
				
			
			@ -47,6 +48,7 @@ const (
 | 
			
		|||
// Options contains configuration options.
 | 
			
		||||
type Options struct {
 | 
			
		||||
	HTTPS                     bool
 | 
			
		||||
	logDateTime               bool
 | 
			
		||||
	hsts                      bool
 | 
			
		||||
	httpService               bool
 | 
			
		||||
	schedulerService          bool
 | 
			
		||||
| 
						 | 
				
			
			@ -84,6 +86,7 @@ type Options struct {
 | 
			
		|||
func NewOptions() *Options {
 | 
			
		||||
	return &Options{
 | 
			
		||||
		HTTPS:                     defaultHTTPS,
 | 
			
		||||
		logDateTime:               defaultLogDateTime,
 | 
			
		||||
		hsts:                      defaultHSTS,
 | 
			
		||||
		httpService:               defaultHTTPService,
 | 
			
		||||
		schedulerService:          defaultSchedulerService,
 | 
			
		||||
| 
						 | 
				
			
			@ -118,6 +121,11 @@ func NewOptions() *Options {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LogDateTime returns true if the date/time should be displayed in log messages.
 | 
			
		||||
func (o *Options) LogDateTime() bool {
 | 
			
		||||
	return o.logDateTime
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HasDebugMode returns true if debug mode is enabled.
 | 
			
		||||
func (o *Options) HasDebugMode() bool {
 | 
			
		||||
	return o.debug
 | 
			
		||||
| 
						 | 
				
			
			@ -283,6 +291,7 @@ func (o *Options) HTTPClientMaxBodySize() int64 {
 | 
			
		|||
 | 
			
		||||
func (o *Options) String() string {
 | 
			
		||||
	var builder strings.Builder
 | 
			
		||||
	builder.WriteString(fmt.Sprintf("LOG_DATE_TIME: %v\n", o.logDateTime))
 | 
			
		||||
	builder.WriteString(fmt.Sprintf("DEBUG: %v\n", o.debug))
 | 
			
		||||
	builder.WriteString(fmt.Sprintf("HTTP_SERVICE: %v\n", o.httpService))
 | 
			
		||||
	builder.WriteString(fmt.Sprintf("SCHEDULER_SERVICE: %v\n", o.schedulerService))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,6 +71,8 @@ func (p *Parser) parseLines(lines []string) (err error) {
 | 
			
		|||
		value := strings.TrimSpace(fields[1])
 | 
			
		||||
 | 
			
		||||
		switch key {
 | 
			
		||||
		case "LOG_DATE_TIME":
 | 
			
		||||
			p.opts.logDateTime = parseBool(value, defaultLogDateTime)
 | 
			
		||||
		case "DEBUG":
 | 
			
		||||
			p.opts.debug = parseBool(value, defaultDebug)
 | 
			
		||||
		case "BASE_URL":
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,9 +7,11 @@ package logger // import "miniflux.app/logger"
 | 
			
		|||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var requestedLevel = InfoLevel
 | 
			
		||||
var displayDateTime = false
 | 
			
		||||
 | 
			
		||||
// LogLevel type.
 | 
			
		||||
type LogLevel uint32
 | 
			
		||||
| 
						 | 
				
			
			@ -43,6 +45,11 @@ func (level LogLevel) String() string {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EnableDateTime enables date time in log messages.
 | 
			
		||||
func EnableDateTime() {
 | 
			
		||||
	displayDateTime = true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EnableDebug increases logging, more verbose (debug)
 | 
			
		||||
func EnableDebug() {
 | 
			
		||||
	requestedLevel = DebugLevel
 | 
			
		||||
| 
						 | 
				
			
			@ -79,6 +86,13 @@ func Fatal(format string, v ...interface{}) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func formatMessage(level LogLevel, format string, v ...interface{}) {
 | 
			
		||||
	prefix := fmt.Sprintf("[%s] ", level.String())
 | 
			
		||||
	var prefix string
 | 
			
		||||
 | 
			
		||||
	if displayDateTime {
 | 
			
		||||
		prefix = fmt.Sprintf("[%s] [%s] ", time.Now().Format("2006-01-02T15:04:05"), level)
 | 
			
		||||
	} else {
 | 
			
		||||
		prefix = fmt.Sprintf("[%s] ", level)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fmt.Fprintf(os.Stderr, prefix+format+"\n", v...)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										19
									
								
								miniflux.1
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								miniflux.1
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -78,11 +78,30 @@ Show application version\&.
 | 
			
		|||
Show application version\&.
 | 
			
		||||
.RE
 | 
			
		||||
 | 
			
		||||
.SH CONFIGURATION FILE
 | 
			
		||||
The configuration file is a text file that follow these rules:
 | 
			
		||||
.LP
 | 
			
		||||
- Miniflux expects each line to be in KEY=VALUE format.
 | 
			
		||||
.br
 | 
			
		||||
- Lines beginning with # are processed as comments and ignored.
 | 
			
		||||
.br
 | 
			
		||||
- Blank lines are ignored.
 | 
			
		||||
.br
 | 
			
		||||
- There is no variable interpolation.
 | 
			
		||||
.PP
 | 
			
		||||
Keys are the same as the environment variables described below.
 | 
			
		||||
.br
 | 
			
		||||
Environment variables override the values defined in the config file.
 | 
			
		||||
 | 
			
		||||
.SH ENVIRONMENT
 | 
			
		||||
.TP
 | 
			
		||||
.B DEBUG
 | 
			
		||||
Set the value to 1 to enable debug logs\&.
 | 
			
		||||
.TP
 | 
			
		||||
.TP
 | 
			
		||||
.B LOG_DATE_TIME
 | 
			
		||||
Display the date and time in log messages\&.
 | 
			
		||||
.TP
 | 
			
		||||
.B WORKER_POOL_SIZE
 | 
			
		||||
Number of background workers (default is 5)\&.
 | 
			
		||||
.TP
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue