manager.go 878 B

1234567891011121314151617181920212223242526272829303132333435
  1. package sshlog
  2. import (
  3. "io"
  4. "path/filepath"
  5. "time"
  6. "github.com/cloudflare/cloudflared/logger"
  7. )
  8. // Manager be managing logs bruh
  9. type Manager interface {
  10. NewLogger(string, logger.Service) (io.WriteCloser, error)
  11. NewSessionLogger(string, logger.Service) (io.WriteCloser, error)
  12. }
  13. type manager struct {
  14. baseDirectory string
  15. }
  16. // New creates a new instance of a log manager
  17. func New(baseDirectory string) Manager {
  18. return &manager{
  19. baseDirectory: baseDirectory,
  20. }
  21. }
  22. func (m *manager) NewLogger(name string, logger logger.Service) (io.WriteCloser, error) {
  23. return NewLogger(filepath.Join(m.baseDirectory, name), logger, time.Second, defaultFileSizeLimit)
  24. }
  25. func (m *manager) NewSessionLogger(name string, logger logger.Service) (io.WriteCloser, error) {
  26. return NewSessionLogger(filepath.Join(m.baseDirectory, name), logger, time.Second, defaultFileSizeLimit)
  27. }