github.com/legofun/go-log@v0.0.0-20220819080256-3f9d776ff7cf/console_writer_test.go (about)

     1  package golog
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func generateNewConsoleWriterWithOptions(level string, color, fullColor bool) *ConsoleWriter {
     8  	options := ConsoleWriterOptions{
     9  		Level:     level,
    10  		Color:     color,
    11  		FullColor: fullColor,
    12  	}
    13  	w := NewConsoleWriterWithOptions(options)
    14  	w.SetColor(color)
    15  	w.SetFullColor(fullColor)
    16  	return w
    17  }
    18  
    19  func generateRegisterConsoleWriter(lg *Logger, w *ConsoleWriter, fullPath, funcName bool, layout string) {
    20  	lg.Register(w)
    21  	if layout == "" {
    22  		lg.SetLayout("2006-01-02 15:04:05")
    23  	} else {
    24  		lg.SetLayout(layout)
    25  	}
    26  	lg.WithFullPath(fullPath)
    27  	lg.WithFuncName(funcName)
    28  }
    29  
    30  func Test_NewConsoleWriterWithStruct(t *testing.T) {
    31  	c := &ConsoleWriter{}
    32  	t.Logf("%#v", c)
    33  }
    34  
    35  func Test_NewConsoleWriter(t *testing.T) {
    36  	NewConsoleWriter()
    37  }
    38  
    39  func Test_NewConsoleWriterWithNilLogger(t *testing.T) {
    40  	var color, fullColor, fullPath, funcName bool
    41  	var layout string
    42  	records := make(chan *Record, uint(0))
    43  	close(records)
    44  	loggerDefaultTest := newLoggerWithRecords(records)
    45  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
    46  	var name = "console nil logger"
    47  	defer func() {
    48  		if err := recover(); err != nil {
    49  			t.Errorf("error occur: %v", err)
    50  			loggerDefaultTest = newLoggerWithRecords(records)
    51  			generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
    52  			defer loggerDefaultTest.Close()
    53  			loggerDefaultTest.Debug("go-log by %s", name)
    54  			loggerDefaultTest.Common("go-log by %s", name)
    55  			loggerDefaultTest.Error("%#v", loggerDefaultTest)
    56  		}
    57  	}()
    58  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
    59  
    60  }
    61  
    62  func Test_NewConsoleWriterWithGlobalSet(t *testing.T) {
    63  	var color, fullColor bool
    64  	var layout string
    65  	loggerDefault = NewLogger()
    66  
    67  	defer Close()
    68  	layout = "20060102 150405"
    69  	SetLayout(layout)
    70  	SetLevel(COMMON)
    71  	WithFullPath(true)
    72  	WithFuncName(true)
    73  	c := generateNewConsoleWriterWithOptions(LevelFlagCommon, color, fullColor)
    74  	Register(c)
    75  
    76  	var name = "console with default global"
    77  	Debug("go-log by %s", name)
    78  	Common("go-log by %s", name)
    79  	Abnormal("go-log by %s", name)
    80  	Transaction("go-log by %s", name)
    81  	Error("go-log by %s", name)
    82  	Access("go-log by %s", name)
    83  }
    84  
    85  func Test_NewConsoleWriterWithLevel(t *testing.T) {
    86  	var color, fullColor, fullPath, funcName bool
    87  	var layout string
    88  
    89  	records := make(chan *Record, uint(2048))
    90  	loggerDefaultTest := newLoggerWithRecords(records)
    91  	loggerDefaultTest.SetLevel(DEBUG)
    92  	defer loggerDefaultTest.Close()
    93  
    94  	c := generateNewConsoleWriterWithOptions(LevelFlagCommon, color, fullColor)
    95  	var name = "console level"
    96  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
    97  	loggerDefaultTest.Debug("go-log by %s", name)
    98  	loggerDefaultTest.Common("go-log by %s", name)
    99  	loggerDefaultTest.Abnormal("go-log by %s", name)
   100  	loggerDefaultTest.Transaction("go-log by %s", name)
   101  	loggerDefaultTest.Error("go-log by %s", name)
   102  	loggerDefaultTest.Access("go-log by %s", name)
   103  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   104  }
   105  
   106  func Test_NewConsoleWriterWithLevel2(t *testing.T) {
   107  	var color, fullColor, fullPath, funcName bool
   108  	var layout string
   109  
   110  	records := make(chan *Record, uint(2048))
   111  	loggerDefaultTest := newLoggerWithRecords(records)
   112  	loggerDefaultTest.SetLevel(ABNORMAL)
   113  	defer loggerDefaultTest.Close()
   114  
   115  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   116  	var name = "console level2"
   117  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   118  	loggerDefaultTest.Debug("go-log by %s", name)
   119  	loggerDefaultTest.Common("go-log by %s", name)
   120  	loggerDefaultTest.Abnormal("go-log by %s", name)
   121  	loggerDefaultTest.Abnormal("go-log by fmt ", 123, " super ", name)
   122  	loggerDefaultTest.Transaction("go-log by %s", name)
   123  	loggerDefaultTest.Error("go-log by %s", name)
   124  	loggerDefaultTest.Access("go-log by %s", name)
   125  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   126  }
   127  
   128  func Test_NewConsoleWriterWithColor(t *testing.T) {
   129  	var color, fullColor, fullPath, funcName bool
   130  	var layout string
   131  
   132  	records := make(chan *Record, uint(2048))
   133  	loggerDefaultTest := newLoggerWithRecords(records)
   134  	defer loggerDefaultTest.Close()
   135  
   136  	color = true
   137  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   138  	var name = "console color"
   139  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   140  	loggerDefaultTest.Debug("go-log by %s", name)
   141  	loggerDefaultTest.Common("go-log by %s", name)
   142  	loggerDefaultTest.Abnormal("go-log by %s", name)
   143  	loggerDefaultTest.Transaction("go-log by %s", name)
   144  	loggerDefaultTest.Error("go-log by %s", name)
   145  	loggerDefaultTest.Access("go-log by %s", name)
   146  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   147  }
   148  
   149  func Test_NewConsoleWriterWithFullColor(t *testing.T) {
   150  	var color, fullColor, fullPath, funcName bool
   151  	var layout string
   152  
   153  	records := make(chan *Record, uint(2048))
   154  	loggerDefaultTest := newLoggerWithRecords(records)
   155  	defer loggerDefaultTest.Close()
   156  
   157  	color = true
   158  	fullColor = true
   159  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   160  	// c := generateNewConsoleWriterWithOptions(LevelFlagEmergency, color, fullColor)
   161  	var name = "console full color"
   162  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   163  	loggerDefaultTest.Debug("go-log by %s", name)
   164  	loggerDefaultTest.Common("go-log by %s", name)
   165  	loggerDefaultTest.Abnormal("go-log by %s", name)
   166  	loggerDefaultTest.Transaction("go-log by %s", name)
   167  	loggerDefaultTest.Error("go-log by %s", name)
   168  	loggerDefaultTest.Access("go-log by %s", name)
   169  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   170  }
   171  
   172  func Test_NewConsoleWriterWithFullPath(t *testing.T) {
   173  	var color, fullColor, fullPath, funcName bool
   174  	var layout string
   175  
   176  	records := make(chan *Record, uint(2048))
   177  	loggerDefaultTest := newLoggerWithRecords(records)
   178  	defer loggerDefaultTest.Close()
   179  
   180  	color = true
   181  	fullPath = true
   182  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   183  	var name = "console full path"
   184  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   185  	loggerDefaultTest.Debug("go-log by %s", name)
   186  	loggerDefaultTest.Common("go-log by %s", name)
   187  	loggerDefaultTest.Abnormal("go-log by %s", name)
   188  	loggerDefaultTest.Transaction("go-log by %s", name)
   189  	loggerDefaultTest.Error("go-log by %s", name)
   190  	loggerDefaultTest.Access("go-log by %s", name)
   191  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   192  }
   193  
   194  func Test_NewConsoleWriterWithFuncName(t *testing.T) {
   195  	var color, fullColor, fullPath, funcName bool
   196  	var layout string
   197  
   198  	records := make(chan *Record, uint(2048))
   199  	loggerDefaultTest := newLoggerWithRecords(records)
   200  	defer loggerDefaultTest.Close()
   201  
   202  	color = true
   203  	funcName = true
   204  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   205  	var name = "console func name"
   206  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   207  	loggerDefaultTest.Debug("go-log by %s", name)
   208  	loggerDefaultTest.Common("go-log by %s", name)
   209  	loggerDefaultTest.Abnormal("go-log by %s", name)
   210  	loggerDefaultTest.Transaction("go-log by %s", name)
   211  	loggerDefaultTest.Error("go-log by %s", name)
   212  	loggerDefaultTest.Access("go-log by %s", name)
   213  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   214  }
   215  
   216  func Test_NewConsoleWriterWithLayout(t *testing.T) {
   217  	var color, fullColor, fullPath, funcName bool
   218  	var layout string
   219  
   220  	records := make(chan *Record, uint(2048))
   221  	loggerDefaultTest := newLoggerWithRecords(records)
   222  	defer loggerDefaultTest.Close()
   223  
   224  	color = true
   225  	layout = "20060102T150405.000-0700"
   226  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   227  	var name = "console layout"
   228  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   229  	loggerDefaultTest.Debug("go-log by %s", name)
   230  	loggerDefaultTest.Common("go-log by %s", name)
   231  	loggerDefaultTest.Abnormal("go-log by %s", name)
   232  	loggerDefaultTest.Transaction("go-log by %s", name)
   233  	loggerDefaultTest.Error("go-log by %s", name)
   234  	loggerDefaultTest.Access("go-log by %s", name)
   235  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   236  }
   237  
   238  func Benchmark_NewConsoleWriter(b *testing.B) {
   239  	var color, fullColor, fullPath, funcName bool
   240  	var layout string
   241  
   242  	records := make(chan *Record, uint(2048))
   243  	loggerDefaultTest := newLoggerWithRecords(records)
   244  	loggerDefaultTest.SetLevel(DEBUG)
   245  	defer loggerDefaultTest.Close()
   246  
   247  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   248  	var name = "console benchmark test"
   249  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   250  	loggerDefaultTest.Debug("go-log by %s", name)
   251  	loggerDefaultTest.Common("go-log by %s", name)
   252  	loggerDefaultTest.Abnormal("go-log by %s", name)
   253  	loggerDefaultTest.Transaction("go-log by %s", name)
   254  	loggerDefaultTest.Error("go-log by %s", name)
   255  	loggerDefaultTest.Access("go-log by %s", name)
   256  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   257  }
   258  
   259  func Benchmark_NewConsoleWriterAll(b *testing.B) {
   260  	var color, fullColor, fullPath, funcName bool
   261  	var layout string
   262  
   263  	records := make(chan *Record, uint(2048))
   264  	loggerDefaultTest := newLoggerWithRecords(records)
   265  	loggerDefaultTest.SetLevel(DEBUG)
   266  	defer loggerDefaultTest.Close()
   267  	color = true
   268  	fullColor = true
   269  	fullPath = true
   270  	funcName = true
   271  	layout = "2006-01-02 15:04:05"
   272  
   273  	c := generateNewConsoleWriterWithOptions(LevelFlagDebug, color, fullColor)
   274  	var name = "console benchmark test"
   275  	generateRegisterConsoleWriter(loggerDefaultTest, c, fullPath, funcName, layout)
   276  	loggerDefaultTest.Debug("go-log by %s", name)
   277  	loggerDefaultTest.Common("go-log by %s", name)
   278  	loggerDefaultTest.Abnormal("go-log by %s", name)
   279  	loggerDefaultTest.Transaction("go-log by %s", name)
   280  	loggerDefaultTest.Error("go-log by %s", name)
   281  	loggerDefaultTest.Access("go-log by %s", name)
   282  	loggerDefaultTest.Access("%#v", loggerDefaultTest)
   283  }