파일에 직접 로깅하는 로거로 교체

This commit is contained in:
2023-06-13 20:03:10 +09:00
parent d490188bd2
commit c1847ee3e1
12 changed files with 116 additions and 77 deletions

View File

@ -20,7 +20,6 @@ import (
"time"
"unsafe"
"repositories.action2quare.com/ayo/gocommon/logger"
"repositories.action2quare.com/ayo/houston/shared"
"repositories.action2quare.com/ayo/houston/shared/protos"
@ -197,7 +196,7 @@ func NewClient() (HoustonClient, error) {
var client *grpc.ClientConn
for {
logger.Println("grpc.DialContext :", clientConfig.GrpcAddress)
shared.Logger().Println("grpc.DialContext :", clientConfig.GrpcAddress)
dialContext, cancelDial := context.WithTimeout(context.Background(), 15*time.Second)
client, err = grpc.DialContext(dialContext, clientConfig.GrpcAddress, grpc.WithBlock(), grpc.WithTransportCredentials(insecure.NewCredentials()))
if err == nil {
@ -206,11 +205,11 @@ func NewClient() (HoustonClient, error) {
}
cancelDial()
logger.Println("grpc.DialContext failed :", err)
shared.Logger().Println("grpc.DialContext failed :", err)
time.Sleep(5 * time.Second)
}
logger.Println("grpc.DialContext succeeded")
shared.Logger().Println("grpc.DialContext succeeded")
exefile, err := os.Executable()
if err != nil {
return nil, err
@ -284,7 +283,7 @@ func NewClient() (HoustonClient, error) {
var dr shared.DeployRequest
unmarshal(&dr, resp.Args)
logger.Println(dr.Name, myname)
shared.Logger().Println(dr.Name, myname)
if dr.Name == myname {
if srcdir, replacer, err := hc.prepareUpdateSelf(&dr); err == nil {
args := []string{
@ -293,14 +292,15 @@ func NewClient() (HoustonClient, error) {
filepath.ToSlash(os.Args[0]),
}
args = append(args, os.Args[1:]...)
shared.Logger().Println(replacer, args)
cmd := exec.Command(replacer, args...)
if err := cmd.Start(); err != nil {
logger.Println(err)
shared.Logger().Println(err)
} else {
hc.shutdownFunc()
}
} else {
logger.Println(err)
shared.Logger().Println(err)
}
} else {
if err := hc.deploy(&dr); err == nil {
@ -308,7 +308,7 @@ func NewClient() (HoustonClient, error) {
hc.deploys[dr.Name] = prog
op.Refresh(ctx, hc.makeOperationQueryRequest())
} else {
logger.Println(err)
shared.Logger().Println(err)
}
}
@ -325,35 +325,35 @@ func NewClient() (HoustonClient, error) {
}
op.Refresh(ctx, hc.makeOperationQueryRequest())
} else {
logger.Println(err)
shared.Logger().Println(err)
}
case shared.Start:
var sr shared.StartProcessRequest
unmarshal(&sr, resp.Args)
if err := hc.startChildProcess(&sr); err != nil {
logger.Println(err)
shared.Logger().Println(err)
}
case shared.Stop:
var sr shared.StopProcessRequest
unmarshal(&sr, resp.Args)
if err := hc.stopChildProcess(&sr); err != nil {
logger.Println(err)
shared.Logger().Println(err)
}
case shared.Restart:
var rr shared.RestartProcessRequest
unmarshal(&rr, resp.Args)
if err := hc.restartChildProcess(&rr); err != nil {
logger.Println(err)
shared.Logger().Println(err)
}
case shared.Upload:
var ur shared.UploadRequest
unmarshal(&ur, resp.Args)
if err := hc.uploadFiles(&ur); err != nil {
logger.Println(err)
shared.Logger().Println(err)
}
}
}
@ -390,7 +390,7 @@ func (hc *houstonClient) Start() {
go func() {
c := <-interrupt
logger.Println("interrupt!!!!!!!! :", c.String())
shared.Logger().Println("interrupt!!!!!!!! :", c.String())
hc.shutdownFunc()
}()
@ -402,7 +402,7 @@ func (hc *houstonClient) Start() {
default:
err := hc.checkOperation()
if err != nil {
logger.Println("hc.checkUpdate failed :", err)
shared.Logger().Println("hc.checkUpdate failed :", err)
}
}
}
@ -416,7 +416,7 @@ func (hc *houstonClient) checkOperation() error {
defer func() {
r := recover()
if r != nil {
logger.Error(r)
shared.Logger().Println(r)
}
}()
@ -438,7 +438,7 @@ func (hc *houstonClient) checkOperation() error {
cl.CloseSend()
return err
}
logger.Println(update)
shared.Logger().Println(update)
hc.operationChan <- update
}
}

View File

@ -13,8 +13,6 @@ import (
"path/filepath"
"strings"
"repositories.action2quare.com/ayo/gocommon/logger"
"repositories.action2quare.com/ayo/houston/shared"
"golang.org/x/text/encoding/korean"
@ -258,20 +256,24 @@ func (hc *houstonClient) prepareUpdateSelf(req *shared.DeployRequest) (srcdir st
selfname, _ := os.Executable()
srcreplacer := path.Join(path.Dir(fname), "replacer") + path.Ext(selfname)
replacer = "replacer" + path.Ext(selfname)
replacer = "./" + filepath.ToSlash("replacer"+path.Ext(selfname))
err = copy(srcreplacer, replacer)
if err == nil {
err = os.Chmod(replacer, 0775)
}
// replacer먼저 가져옴
return filepath.ToSlash(tempdir), filepath.ToSlash(replacer), copy(srcreplacer, replacer)
return filepath.ToSlash(tempdir), replacer, err
}
func (hc *houstonClient) deploy(req *shared.DeployRequest) error {
logger.Println("start deploying")
shared.Logger().Println("start deploying")
root, err := hc.prepareDeploy(req.Name, req.Version)
if err != nil {
return err
}
logger.Println("start downloading", req.Url)
shared.Logger().Println("start downloading", req.Url)
// verpath에 배포 시작
fname, err := download(root, hc.makeDownloadUrl(req.Url), req.AccessToken)
if err != nil {

View File

@ -18,8 +18,6 @@ import (
"syscall"
"time"
"repositories.action2quare.com/ayo/gocommon/logger"
"repositories.action2quare.com/ayo/houston/shared"
"repositories.action2quare.com/ayo/houston/shared/protos"
)
@ -56,7 +54,7 @@ func (hc *houstonClient) uploadZipLogFile(zipFile string, name string, version s
req, err := http.NewRequest("POST", hc.httpAddr+"/upload", zf)
if err != nil {
logger.Error(err)
shared.Logger().Println(err)
}
req.Header.Set("Houston-Service-Name", name)
req.Header.Set("Houston-Service-Version", version)
@ -121,19 +119,19 @@ func zipLogFiles(req *shared.UploadRequest, start, except string) (string, []str
relative := file[len(root)+1:]
fw, err := w.Create(relative)
if err != nil {
logger.Error(err)
shared.Logger().Println(err)
return "", nil, err
}
src, err := os.Open(file)
if err != nil {
logger.Error(err)
shared.Logger().Println(err)
return "", nil, err
}
defer src.Close()
if _, err = io.Copy(fw, src); err != nil {
logger.Error(err)
shared.Logger().Println(err)
return "", nil, err
}
}
@ -220,7 +218,7 @@ func (hc *houstonClient) launch(meta *procmeta) error {
defer func() {
r := recover()
if r != nil {
logger.Println(r)
shared.Logger().Println(r)
debug.PrintStack()
}
close(relayChan)
@ -266,10 +264,10 @@ func (hc *houstonClient) launch(meta *procmeta) error {
os.Remove(oldf)
}
} else {
logger.Println("uploadZipLogFile failed :", err)
shared.Logger().Println("uploadZipLogFile failed :", err)
}
} else if err != nil {
logger.Println("zipLogFiles failed :", err)
shared.Logger().Println("zipLogFiles failed :", err)
}
}(startFile, nextFile)
@ -325,7 +323,7 @@ func (hc *houstonClient) launch(meta *procmeta) error {
var errPrepareprocessLaunchFailed = errors.New("prepareProcessLaunch failed")
func (hc *houstonClient) startChildProcess(req *shared.StartProcessRequest) error {
logger.Println("startChildProcess :", *req)
shared.Logger().Println("startChildProcess :", *req)
if req.Version == "latest" {
// 최신 버전을 찾음
latest, err := shared.FindLastestVersion(req.Name)
@ -503,10 +501,10 @@ func (hc *houstonClient) uploadFiles(req *shared.UploadRequest) error {
req.Version = latest
}
logger.Println("uploadFiles req :", *req)
shared.Logger().Println("uploadFiles req :", *req)
for _, child := range hc.childProcs {
if child.version == req.Version && child.name == req.Name {
logger.Println("uploadFiles found :", child.version, child.name)
shared.Logger().Println("uploadFiles found :", child.version, child.name)
child.logUploadChan <- req
return nil
}
@ -521,10 +519,10 @@ func (hc *houstonClient) uploadFiles(req *shared.UploadRequest) error {
os.Remove(oldf)
}
} else {
logger.Println("uploadZipLogFile failed :", err)
shared.Logger().Println("uploadZipLogFile failed :", err)
}
} else if err != nil {
logger.Println("zipLogFiles failed :", err)
shared.Logger().Println("zipLogFiles failed :", err)
}
return nil