2019-08-26 20:25:24 +00:00
|
|
|
package sshlog
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io"
|
2019-09-03 21:28:06 +00:00
|
|
|
"path/filepath"
|
|
|
|
"time"
|
2019-08-26 20:25:24 +00:00
|
|
|
|
2020-04-29 20:51:32 +00:00
|
|
|
"github.com/cloudflare/cloudflared/logger"
|
2019-08-26 20:25:24 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// Manager be managing logs bruh
|
|
|
|
type Manager interface {
|
2020-04-29 20:51:32 +00:00
|
|
|
NewLogger(string, logger.Service) (io.WriteCloser, error)
|
|
|
|
NewSessionLogger(string, logger.Service) (io.WriteCloser, error)
|
2019-08-26 20:25:24 +00:00
|
|
|
}
|
|
|
|
|
2019-09-03 21:28:06 +00:00
|
|
|
type manager struct {
|
|
|
|
baseDirectory string
|
|
|
|
}
|
2019-08-26 20:25:24 +00:00
|
|
|
|
|
|
|
// New creates a new instance of a log manager
|
2019-09-03 21:28:06 +00:00
|
|
|
func New(baseDirectory string) Manager {
|
|
|
|
return &manager{
|
|
|
|
baseDirectory: baseDirectory,
|
|
|
|
}
|
2019-08-26 20:25:24 +00:00
|
|
|
}
|
|
|
|
|
2020-04-29 20:51:32 +00:00
|
|
|
func (m *manager) NewLogger(name string, logger logger.Service) (io.WriteCloser, error) {
|
2019-09-03 21:28:06 +00:00
|
|
|
return NewLogger(filepath.Join(m.baseDirectory, name), logger, time.Second, defaultFileSizeLimit)
|
|
|
|
}
|
|
|
|
|
2020-04-29 20:51:32 +00:00
|
|
|
func (m *manager) NewSessionLogger(name string, logger logger.Service) (io.WriteCloser, error) {
|
2019-09-18 19:11:12 +00:00
|
|
|
return NewSessionLogger(filepath.Join(m.baseDirectory, name), logger, time.Second, defaultFileSizeLimit)
|
2019-08-26 20:25:24 +00:00
|
|
|
}
|