1 Commits
Author SHA1 Message Date
esilva a3418e0c95 Added a logger to be easier to differentiate on the output 2025-01-07 15:11:05 +00:00
3 changed files with 37 additions and 8 deletions
+14 -7
View File
@@ -2,8 +2,9 @@
package goirsdk package goirsdk
import ( import (
"github.com/ESilva15/goirsdk/logger"
"fmt" "fmt"
"log"
"os" "os"
"io" "io"
@@ -53,10 +54,10 @@ func (i *IBT) IsConnected() bool {
return false return false
} }
func (i *IBT) exportYAML(path string) { func (i *IBT) exportYAML(path string) error {
file, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644) file, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil { if err != nil {
log.Println("Failed to open output file for YAML: ", err) return fmt.Errorf("failed to open output file for YAML: %v", err)
} }
defer file.Close() defer file.Close()
@@ -64,12 +65,16 @@ func (i *IBT) exportYAML(path string) {
err = enc.Encode(i.SessionInfo) err = enc.Encode(i.SessionInfo)
if err != nil { if err != nil {
log.Println("Failed to print YAML to file: ", err) return fmt.Errorf("failed to write YAML contents to file: %v", err)
} }
return nil
} }
// Init serves to initialize and get a hold of a IBT struct // Init serves to initialize and get a hold of a IBT struct
func Init(f Reader, exportTelem string, exportYAML string) (*IBT, error) { func Init(f Reader, exportTelem string, exportYAML string) (*IBT, error) {
log := logger.GetInstance()
// Read the header of the file // Read the header of the file
var err error var err error
ibt := IBT{ ibt := IBT{
@@ -84,9 +89,8 @@ func Init(f Reader, exportTelem string, exportYAML string) (*IBT, error) {
if exportTelem != "" { if exportTelem != "" {
ibt.FileToExport, err = os.OpenFile(exportTelem, os.O_CREATE|os.O_RDWR, 0644) ibt.FileToExport, err = os.OpenFile(exportTelem, os.O_CREATE|os.O_RDWR, 0644)
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("failed to open ibt export file: %v", err)
} }
ibt.FileToExport.Sync()
} }
if ibt.File == nil { if ibt.File == nil {
@@ -167,7 +171,10 @@ func Init(f Reader, exportTelem string, exportYAML string) (*IBT, error) {
} }
// Write to YAML output file // Write to YAML output file
if exportYAML != "" { if exportYAML != "" {
ibt.exportYAML(exportYAML) err := ibt.exportYAML(exportYAML)
if err != nil {
return nil, err
}
} }
// Read the telemetry vars info // Read the telemetry vars info
+23
View File
@@ -0,0 +1,23 @@
package logger
import (
"log"
"os"
"sync"
)
var l *log.Logger
var once sync.Once
func createLogger() {
l = log.New(os.Stdout, "[ibtReader] ", log.LstdFlags | log.Lshortfile)
}
func GetInstance() *log.Logger {
once.Do(func() {
createLogger()
})
return l
}
-1
View File
@@ -112,7 +112,6 @@ func (i *IBT) readVariablerHeaders() error {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
i.FileToExport.Sync()
var dst IBTVar var dst IBTVar
err = binary.Read(bytes.NewBuffer(rbuf[:]), binary.LittleEndian, &dst) err = binary.Read(bytes.NewBuffer(rbuf[:]), binary.LittleEndian, &dst)