Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions aitelemetry/telemetrywrapper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ var (
)

func TestMain(m *testing.M) {
log.SetLogDirectory("/var/log/")
log.SetName("testaitelemetry")
log.SetLevel(log.LevelInfo)
err := log.SetTarget(log.TargetLogfile)
err := log.SetTargetLogDirectory(log.TargetLogfile, "/var/log/")
if err == nil {
fmt.Printf("TestST LogDir configuration succeeded\n")
}
Expand Down
3 changes: 2 additions & 1 deletion cni/ipam/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ var version string
func main() {
var config common.PluginConfig
config.Version = version
logDirectory := "" // Sets the current location as log directory

log.SetName(name)
log.SetLevel(log.LevelInfo)
if err := log.SetTarget(log.TargetLogfile); err != nil {
if err := log.SetTargetLogDirectory(log.TargetLogfile, logDirectory); err != nil {
fmt.Printf("Failed to setup cni logging: %v\n", err)
return
}
Expand Down
9 changes: 5 additions & 4 deletions cni/network/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,15 @@ func main() {
}

var (
config common.PluginConfig
err error
cnimetric telemetry.AIMetric
config common.PluginConfig
err error
cnimetric telemetry.AIMetric
logDirectory string // This sets empty string i.e. current location
)

log.SetName(name)
log.SetLevel(log.LevelInfo)
if err = log.SetTarget(log.TargetLogfile); err != nil {
if err = log.SetTargetLogDirectory(log.TargetLogfile, logDirectory); err != nil {
fmt.Printf("Failed to setup cni logging: %v\n", err)
return
}
Expand Down
6 changes: 1 addition & 5 deletions cni/telemetry/service/telemetrymain.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,7 @@ func main() {

log.SetName(azureVnetTelemetry)
log.SetLevel(logLevel)
if logDirectory != "" {
log.SetLogDirectory(logDirectory)
}

err = log.SetTarget(logTarget)
err = log.SetTargetLogDirectory(logTarget, logDirectory)
if err != nil {
fmt.Printf("Failed to configure logging: %v\n", err)
return
Expand Down
3 changes: 2 additions & 1 deletion cnm/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,10 @@ func main() {
}

// Create logging provider.
logDirectory := "" // Sets the current location as log directory
log.SetName(name)
log.SetLevel(logLevel)
err = log.SetTarget(logTarget)
err = log.SetTargetLogDirectory(logTarget, logDirectory)
if err != nil {
fmt.Printf("Failed to configure logging: %v\n", err)
return
Expand Down
8 changes: 4 additions & 4 deletions cns/logger/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ type CNSLogger struct {
}

// Initialize CNS Logger
func InitLogger(fileName string, logLevel, logTarget int) {
func InitLogger(fileName string, logLevel, logTarget int, logDir string) {
Log = &CNSLogger{
logger: log.NewLogger(fileName, logLevel, logTarget),
logger: log.NewLogger(fileName, logLevel, logTarget, logDir),
}
}

Expand Down Expand Up @@ -61,8 +61,8 @@ func Close() {
}
}

func SetLogDirectory(dir string) {
Log.logger.SetLogDirectory(dir)
func SetTargetLogDirectory(target int, dir string) error {
return Log.logger.SetTargetLogDirectory(target, dir)
}

// Set context details for logs and metrics
Expand Down
3 changes: 1 addition & 2 deletions cns/service/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,7 @@ func main() {
config.ErrChan = make(chan error, 1)

// Create logging provider.
logger.InitLogger(name, logLevel, logTarget)
logger.SetLogDirectory(logDirectory)
logger.InitLogger(name, logLevel, logTarget, logDirectory)

if !telemetryEnabled {
logger.Errorf("[Azure CNS] Cannot disable telemetry via cmdline. Update cns_config.json to disable telemetry.")
Expand Down
9 changes: 5 additions & 4 deletions log/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,16 @@ type Logger struct {
var pid = os.Getpid()

// NewLogger creates a new Logger.
func NewLogger(name string, level int, target int) *Logger {
func NewLogger(name string, level int, target int, logDir string) *Logger {
var logger Logger

logger.l = log.New(nil, logPrefix, log.LstdFlags)
logger.name = name
logger.level = level
logger.directory = logDir
logger.SetTarget(target)
logger.maxFileSize = maxLogFileSize
logger.maxFileCount = maxLogFileCount
logger.directory = ""
logger.mutex = &sync.Mutex{}

return &logger
Expand Down Expand Up @@ -103,9 +103,10 @@ func (logger *Logger) Close() {
}
}

// SetLogDirectory sets the directory location where logs should be stored.
func (logger *Logger) SetLogDirectory(logDirectory string) {
// SetTargetLogDirectory sets the directory location where logs should be stored along with the target
func (logger *Logger) SetTargetLogDirectory(target int, logDirectory string) error {
logger.directory = logDirectory
return logger.SetTarget(target)
}

// GetLogDirectory gets the directory location where logs should be stored.
Expand Down
12 changes: 7 additions & 5 deletions log/logger_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ const (

// Tests that the log file rotates when size limit is reached.
func TestLogFileRotatesWhenSizeLimitIsReached(t *testing.T) {
l := NewLogger(logName, LevelInfo, TargetLogfile)
logDirectory := "" // This sets the current location for logs
l := NewLogger(logName, LevelInfo, TargetLogfile, logDirectory)
if l == nil {
t.Fatalf("Failed to create logger.\n")
}
Expand Down Expand Up @@ -53,7 +54,8 @@ func TestLogFileRotatesWhenSizeLimitIsReached(t *testing.T) {
}

func TestPid(t *testing.T) {
l := NewLogger(logName, LevelInfo, TargetLogfile)
logDirectory := "" // This sets the current location for logs
l := NewLogger(logName, LevelInfo, TargetLogfile, logDirectory)
if l == nil {
t.Fatalf("Failed to create logger.")
}
Expand All @@ -62,15 +64,15 @@ func TestPid(t *testing.T) {
l.Close()
fn := l.GetLogDirectory() + logName + ".log"
defer os.Remove(fn)

logBytes, err := ioutil.ReadFile(fn)
if err != nil {
t.Fatalf("Failed to read log, %v", err)
}
log := string(logBytes)
exptectedLog := fmt.Sprintf("[%v] LogText 1", os.Getpid());
exptectedLog := fmt.Sprintf("[%v] LogText 1", os.Getpid())

if !strings.Contains(log, exptectedLog){
if !strings.Contains(log, exptectedLog) {
t.Fatalf("Unexpected log: %s.", log)
}
}
11 changes: 4 additions & 7 deletions log/stdapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
package log

// Standard logger is a pre-defined logger for convenience.
var stdLog = NewLogger("azure-container-networking", LevelInfo, TargetStderr)
// Set log directory as the current location
var stdLog = NewLogger("azure-container-networking", LevelInfo, TargetStderr, "")

// GetStd - Helper functions for the standard logger.
func GetStd() *Logger {
Expand All @@ -15,10 +16,6 @@ func SetName(name string) {
stdLog.SetName(name)
}

func SetTarget(target int) error {
return stdLog.SetTarget(target)
}

func SetLevel(level int) {
stdLog.SetLevel(level)
}
Expand All @@ -31,8 +28,8 @@ func Close() {
stdLog.Close()
}

func SetLogDirectory(logDirectory string) {
stdLog.SetLogDirectory(logDirectory)
func SetTargetLogDirectory(target int, logDirectory string) error {
return stdLog.SetTargetLogDirectory(target, logDirectory)
}

func GetLogDirectory() string {
Expand Down
2 changes: 1 addition & 1 deletion npm/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ var version string
func initLogging() error {
log.SetName("azure-npm")
log.SetLevel(log.LevelInfo)
if err := log.SetTarget(log.TargetStdOutAndLogFile); err != nil {
if err := log.SetTargetLogDirectory(log.TargetStdOutAndLogFile, ""); err != nil {
log.Logf("Failed to configure logging, err:%v.", err)
return err
}
Expand Down