add "error" log level

This commit is contained in:
aler9
2021-10-27 19:49:57 +02:00
parent 8875c8eaa6
commit 75d4f1437d
5 changed files with 85 additions and 76 deletions

View File

@@ -87,7 +87,7 @@ func New(args []string) (*Core, bool) {
err = p.createResources(true)
if err != nil {
p.Log(logger.Info, "ERR: %s", err)
p.Log(logger.Error, "%s", err)
p.closeResources(nil, false)
return nil, false
}
@@ -95,7 +95,7 @@ func New(args []string) (*Core, bool) {
if p.confFound {
p.confWatcher, err = confwatcher.New(p.confPath)
if err != nil {
p.Log(logger.Info, "ERR: %s", err)
p.Log(logger.Error, "%s", err)
p.closeResources(nil, false)
return nil, false
}
@@ -144,13 +144,13 @@ outer:
newConf, _, err := conf.Load(p.confPath)
if err != nil {
p.Log(logger.Info, "ERR: %s", err)
p.Log(logger.Error, "%s", err)
break outer
}
err = p.reloadConf(newConf, false)
if err != nil {
p.Log(logger.Info, "ERR: %s", err)
p.Log(logger.Error, "%s", err)
break outer
}
@@ -159,7 +159,7 @@ outer:
err := p.reloadConf(newConf, true)
if err != nil {
p.Log(logger.Info, "ERR: %s", err)
p.Log(logger.Error, "%s", err)
break outer
}

View File

@@ -3,6 +3,7 @@ package core
import (
"bytes"
"context"
"errors"
"fmt"
"io"
"net"
@@ -195,7 +196,6 @@ func (r *hlsMuxer) PathName() string {
func (r *hlsMuxer) run() {
defer r.wg.Done()
defer r.log(logger.Info, "destroyed")
innerCtx, innerCtxCancel := context.WithCancel(context.Background())
innerReady := make(chan struct{})
@@ -206,13 +206,13 @@ func (r *hlsMuxer) run() {
isReady := false
outer:
err := func() error {
for {
select {
case <-r.ctx.Done():
innerCtxCancel()
<-innerErr
break outer
return errors.New("terminated")
case req := <-r.request:
if isReady {
@@ -230,12 +230,10 @@ outer:
case err := <-innerErr:
innerCtxCancel()
if err != nil {
r.log(logger.Info, "ERR: %s", err)
}
break outer
return err
}
}
}()
r.ctxCancel()
@@ -244,6 +242,8 @@ outer:
}
r.parent.OnMuxerClose(r)
r.log(logger.Info, "destroyed (%v)", err)
}
func (r *hlsMuxer) runInner(innerCtx context.Context, innerReady chan struct{}) error {

View File

@@ -4,7 +4,6 @@ import (
"context"
"errors"
"fmt"
"io"
"net"
"net/url"
"strings"
@@ -144,8 +143,8 @@ func (c *rtmpConn) safeState() gortsplib.ServerSessionState {
func (c *rtmpConn) run() {
defer c.wg.Done()
defer c.log(logger.Info, "closed")
err := func() error {
if c.runOnConnect != "" {
c.log(logger.Info, "runOnConnect command started")
_, port, _ := net.SplitHostPort(c.rtspAddress)
@@ -169,19 +168,20 @@ func (c *rtmpConn) run() {
select {
case err := <-runErr:
cancel()
if err != io.EOF {
c.log(logger.Info, "ERR: %s", err)
}
return err
case <-c.ctx.Done():
cancel()
<-runErr
return errors.New("terminated")
}
}()
c.ctxCancel()
c.parent.OnConnClose(c)
c.log(logger.Info, "closed (%v)", err)
}
func (c *rtmpConn) runInner(ctx context.Context) error {
@@ -505,7 +505,7 @@ func (c *rtmpConn) runPublish(ctx context.Context) error {
switch pkt.Type {
case av.H264:
if videoTrack == nil {
return fmt.Errorf("ERR: received an H264 frame, but track is not set up")
return fmt.Errorf("received an H264 frame, but track is not set up")
}
nalus, err := h264.DecodeAVCC(pkt.Data)
@@ -532,7 +532,7 @@ func (c *rtmpConn) runPublish(ctx context.Context) error {
pkts, err := h264Encoder.Encode(outNALUs, pkt.Time+pkt.CTime)
if err != nil {
return fmt.Errorf("ERR while encoding H264: %v", err)
return fmt.Errorf("error while encoding H264: %v", err)
}
bytss := make([][]byte, len(pkts))
@@ -550,12 +550,12 @@ func (c *rtmpConn) runPublish(ctx context.Context) error {
case av.AAC:
if audioTrack == nil {
return fmt.Errorf("ERR: received an AAC frame, but track is not set up")
return fmt.Errorf("received an AAC frame, but track is not set up")
}
pkts, err := aacEncoder.Encode([][]byte{pkt.Data}, pkt.Time+pkt.CTime)
if err != nil {
return fmt.Errorf("ERR while encoding AAC: %v", err)
return fmt.Errorf("error while encoding AAC: %v", err)
}
bytss := make([][]byte, len(pkts))

View File

@@ -181,7 +181,7 @@ func (s *rtmpSource) runInner() bool {
switch pkt.Type {
case av.H264:
if videoTrack == nil {
return fmt.Errorf("ERR: received an H264 frame, but track is not set up")
return fmt.Errorf("received an H264 frame, but track is not set up")
}
nalus, err := h264.DecodeAVCC(pkt.Data)
@@ -203,7 +203,7 @@ func (s *rtmpSource) runInner() bool {
pkts, err := h264Encoder.Encode(outNALUs, pkt.Time+pkt.CTime)
if err != nil {
return fmt.Errorf("ERR while encoding H264: %v", err)
return fmt.Errorf("error while encoding H264: %v", err)
}
bytss := make([][]byte, len(pkts))
@@ -221,12 +221,12 @@ func (s *rtmpSource) runInner() bool {
case av.AAC:
if audioTrack == nil {
return fmt.Errorf("ERR: received an AAC frame, but track is not set up")
return fmt.Errorf("received an AAC frame, but track is not set up")
}
pkts, err := aacEncoder.Encode([][]byte{pkt.Data}, pkt.Time+pkt.CTime)
if err != nil {
return fmt.Errorf("ERR while encoding AAC: %v", err)
return fmt.Errorf("error while encoding AAC: %v", err)
}
bytss := make([][]byte, len(pkts))

View File

@@ -19,6 +19,7 @@ const (
Debug Level = iota + 1
Info
Warn
Error
)
// Destination is a log destination.
@@ -137,25 +138,33 @@ func writeLevel(buf *bytes.Buffer, level Level, doColor bool) {
switch level {
case Debug:
if doColor {
buf.WriteString(color.RenderString(color.Debug.Code(), "D "))
buf.WriteString(color.RenderString(color.Debug.Code(), "D"))
} else {
buf.WriteString("D ")
buf.WriteString("D")
}
case Info:
if doColor {
buf.WriteString(color.RenderString(color.Green.Code(), "I "))
buf.WriteString(color.RenderString(color.Green.Code(), "I"))
} else {
buf.WriteString("I ")
buf.WriteString("I")
}
case Warn:
if doColor {
buf.WriteString(color.RenderString(color.Warn.Code(), "W "))
buf.WriteString(color.RenderString(color.Warn.Code(), "W"))
} else {
buf.WriteString("W ")
buf.WriteString("W")
}
case Error:
if doColor {
buf.WriteString(color.RenderString(color.Error.Code(), "E"))
} else {
buf.WriteString("E")
}
}
buf.WriteByte(' ')
}
func writeContent(buf *bytes.Buffer, format string, args []interface{}) {