github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/engine/framework/logutil/util_test.go (about) 1 // Copyright 2022 PingCAP, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package logutil 15 16 import ( 17 "regexp" 18 "testing" 19 20 "github.com/pingcap/log" 21 "github.com/pingcap/tiflow/engine/pkg/tenant" 22 "github.com/pingcap/tiflow/pkg/logutil" 23 "github.com/stretchr/testify/require" 24 "go.uber.org/zap" 25 "go.uber.org/zap/zaptest" 26 ) 27 28 func TestNewLogger(t *testing.T) { 29 var buffer zaptest.Buffer 30 err := logutil.InitLogger(&logutil.Config{ 31 Level: "warn", 32 }, logutil.WithOutputWriteSyncer(&buffer)) 33 require.NoError(t, err) 34 35 logger := WithProjectInfo(log.L(), tenant.NewProjectInfo("tenant1", "proj1")) 36 logger2 := WithMasterID(logger, "job1") 37 logger2.Warn("master test", zap.String("type", "master")) 38 require.Regexp(t, regexp.QuoteMeta("[\"master test\"] [tenant=tenant1] [project_id=proj1] [job_id=job1] [type=master]"), buffer.Stripped()) 39 40 logger3 := WithWorkerID(logger2, "worker1") 41 logger3.Warn("worker test", zap.String("type", "worker")) 42 require.Regexp(t, regexp.QuoteMeta("[\"worker test\"] [tenant=tenant1] [project_id=proj1] [job_id=job1] [worker_id=worker1] [type=worker]"), buffer.Stripped()) 43 }