本文整理汇总了Golang中github.com/skynetservices/skynet/log.Println函数的典型用法代码示例。如果您正苦于以下问题:Golang Println函数的具体用法?Golang Println怎么用?Golang Println使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Println函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ReadRequestBody
func (sc *ServerCodec) ReadRequestBody(v interface{}) (err error) {
log.Println(log.TRACE, "RPC Server Entered: ReadRequestBody")
defer log.Println(log.TRACE, "RPC Server Leaving: ReadRequestBody")
err = sc.Decoder.Decode(v)
if err != nil {
log.Println(log.ERROR, "RPC Server Error decoding request body: ", err)
}
if err == nil {
log.Println(log.TRACE, pretty.Sprintf("RPC Server Read RequestBody %s %+v", reflect.TypeOf(v), v))
}
return
}
示例2: StopAllSubServices
func (s *SkynetDaemon) StopAllSubServices(requestInfo *skynet.RequestInfo, in daemon.StopAllSubServicesRequest, out *daemon.StopAllSubServicesResponse) (err error) {
var uuids []string
s.serviceLock.Lock()
for uuid := range s.Services {
uuids = append(uuids, uuid)
}
s.serviceLock.Unlock()
out.Stops = make([]daemon.StopSubServiceResponse, len(uuids))
for i, uuid := range uuids {
log.Println(log.TRACE, "Stopping "+uuid)
err = s.StopSubService(requestInfo, daemon.StopSubServiceRequest{UUID: uuid}, &out.Stops[i])
if err != nil {
log.Println(log.ERROR, "Failed to stop subservice "+uuid, err)
return
}
if out.Stops[i].Ok {
out.Count++
}
}
s.saveState()
return
}
示例3: writeStateFile
// TODO: This should be moved out so that it's run asynchronously
// it should also use a buffered channel so that if a save is already queued it only saves once
func (s *SkynetDaemon) writeStateFile() (err error) {
err = s.stateFile.Truncate(0)
if err != nil {
return
}
_, err = s.stateFile.Seek(0, 0)
if err != nil {
return
}
var b []byte
b, err = json.MarshalIndent(s.Services, "", "\t")
if err != nil {
log.Println(log.ERROR, "Failed to marshall daemon state")
return
}
_, err = s.stateFile.Write(b)
if err != nil {
log.Println(log.ERROR, "Failed to save daemon state")
}
return
}
示例4: send
func (c *ServiceClient) send(retry, giveup time.Duration, ri *skynet.RequestInfo, fn string, in interface{}, out interface{}) (err error) {
if ri == nil {
ri = c.NewRequestInfo()
}
attempts := make(chan sendAttempt)
var retryTicker <-chan time.Time
retryChan := make(chan bool, 1)
if retry > 0 {
retryTicker = time.Tick(retry)
}
var timeoutTimer <-chan time.Time
if giveup > 0 {
timeoutTimer = time.NewTimer(giveup).C
}
attemptCount := 1
go c.attemptSend(retry, attempts, ri, fn, in, out)
for {
select {
case <-retryTicker:
retryChan <- true
case <-retryChan:
attemptCount++
ri.RetryCount++
log.Println(log.TRACE, fmt.Sprintf("Sending Attempt# %d with RequestInfo %+v", attemptCount, ri))
go c.attemptSend(retry, attempts, ri, fn, in, out)
case <-timeoutTimer:
err = RequestTimeout
log.Println(log.WARN, fmt.Sprintf("Timing out request after %d attempts within %s ", attemptCount, giveup.String()))
return
case attempt := <-attempts:
if attempt.err != nil {
log.Println(log.ERROR, "Attempt Error: ", attempt.err)
// If there is no retry timer we need to exit as retries were disabled
if retryTicker == nil {
return err
} else {
// Don't wait for next retry tick retry now
retryChan <- true
}
continue
}
// copy into the caller's value
v := reflect.Indirect(reflect.ValueOf(out))
v.Set(reflect.Indirect(reflect.ValueOf(attempt.result)))
return
}
}
}
示例5: Start
func (pc *PathCache) Start() (notifyChan chan PathCacheNotification, err error) {
pc.notifyChan = make(chan PathCacheNotification, 10)
pc.stoppedChan = make(chan bool, 1)
pc.startup = sync.WaitGroup{}
go pc.mux()
err = pc.watch()
if err != nil {
// We expect this to occasionally happen due to timing
if err != zk.ErrNoNode {
log.Println(log.ERROR, err)
}
pc.Stop()
return
}
err = pc.watchChildren()
if err != nil {
// We expect this to occasionally happen due to timing
if err != zk.ErrNoNode {
log.Println(log.ERROR, err)
}
pc.Stop()
}
pc.startup.Wait()
return pc.notifyChan, err
}
示例6: init
func init() {
flagset := flag.NewFlagSet("config", flag.ContinueOnError)
flagset.StringVar(&configFile, "config", "", "Config File")
flagset.StringVar(&uuid, "uuid", "", "uuid")
args, _ := SplitFlagsetFromArgs(flagset, os.Args[1:])
flagset.Parse(args)
// Ensure we have a UUID
if uuid == "" {
uuid = NewUUID()
}
if configFile == "" {
for _, f := range defaultConfigFiles {
if _, err := os.Stat(f); err == nil {
configFile = f
break
}
}
}
if configFile == "" {
log.Println(log.ERROR, "Failed to find config file")
conf = config.NewDefault()
return
}
if _, err := os.Stat(configFile); os.IsNotExist(err) {
log.Println(log.ERROR, "Config file does not exist", err)
conf = config.NewDefault()
return
}
var err error
if conf, err = config.ReadDefault(configFile); err != nil {
conf = config.NewDefault()
log.Fatal(err)
}
// Set default log level from config, this can be overriden at the service level when the service is created
if l, err := conf.RawStringDefault("log.level"); err == nil {
log.SetLogLevel(log.LevelFromString(l))
}
// Set default log level from config, this can be overriden at the service level when the service is created
if lh, err := conf.RawStringDefault("log.sysloghost"); err == nil {
log.SetSyslogHost(lh)
}
// Set syslog port
if i, err := conf.Int("DEFAULT", "log.syslogport"); err == nil {
log.SetSyslogPort(i)
}
// Set GOMAXPROCS
if i, err := conf.Int("DEFAULT", "runtime.gomaxprocs"); err == nil {
runtime.GOMAXPROCS(i)
}
}
示例7: Close
func (sc *ServerCodec) Close() (err error) {
log.Println(log.TRACE, "RPC Server Entered: Close")
defer log.Println(log.TRACE, "RPC Server Leaving: Close")
err = sc.conn.Close()
if err != nil && err.Error() != "use of closed network connection" {
log.Println(log.ERROR, "RPC Server Error closing connection: ", err)
return
}
return
}
示例8: getGiveupTimeout
func getGiveupTimeout(service, version string) time.Duration {
if d, err := config.String(service, version, "client.timeout.total"); err == nil {
if timeout, err := time.ParseDuration(d); err == nil {
log.Println(log.TRACE, fmt.Sprintf("Using custom giveup duration %q for %q %q", timeout.String(), service, version))
return timeout
}
log.Println(log.ERROR, "Failed to parse client.timeout.total", err)
}
return config.DefaultTimeoutDuration
}
示例9: Close
func (cc *ClientCodec) Close() (err error) {
log.Println(log.TRACE, "RPC Client Entered: Close")
defer log.Println(log.TRACE, "RPC Client Leaving: Close")
err = cc.conn.Close()
if err != nil && err.Error() != "use of closed network connection" {
log.Println(log.ERROR, "RPC Client Error closing connection: ", err)
}
return
}
示例10: Started
func (sd *SkynetDaemon) Started(s *service.Service) {
err := sd.cleanupHost(s.ServiceInfo.UUID)
if err != nil {
log.Println(log.ERROR, "Error cleaning up host", err)
}
err = sd.restoreState()
if err != nil {
log.Println(log.ERROR, "Error restoring state", err)
}
}
示例11: ReadRequestHeader
func (sc *ServerCodec) ReadRequestHeader(rq *rpc.Request) (err error) {
log.Println(log.TRACE, "RPC Server Entered: ReadRequestHeader")
defer log.Println(log.TRACE, "RPC Server Leaving: ReadRequestHeader")
err = sc.Decoder.Decode(rq)
if err != nil && err != io.EOF {
log.Println(log.ERROR, "RPC Server Error decoding request header: ", err)
sc.Close()
}
if err == nil {
log.Println(log.TRACE, pretty.Sprintf("RPC Server Read RequestHeader %s %+v", reflect.TypeOf(rq), rq))
}
return
}
示例12: watchChildren
func (pc *PathCache) watchChildren() error {
if pc.depth == 0 {
return nil
}
children, _, ev, err := pc.serviceManager.conn.ChildrenW(pc.path)
if err != nil {
if err != zk.ErrNoNode {
log.Println(log.ERROR, err)
}
return err
}
go forwardZkEvents(ev, pc.events)
pc.startup.Add(len(children))
for _, c := range children {
if _, ok := pc.children[path.Join(pc.path, c)]; !ok {
go func(c string) {
pc.addChildChan <- c
}(c)
}
}
return nil
}
示例13: Unregister
func (sm *ZookeeperServiceManager) Unregister(uuid string) (err error) {
log.Println(log.TRACE, "Unregister service", uuid)
_, err = sm.conn.Set(path.Join("/instances", uuid, "registered"), []byte("false"), -1)
return
}
示例14: Remove
func (sm *ZookeeperServiceManager) Remove(s skynet.ServiceInfo) (err error) {
log.Println(log.TRACE, "Removing service", s.UUID)
ops := zk.MultiOps{
Delete: []zk.DeleteRequest{
deleteRequest(path.Join("/regions", s.Region, s.UUID), -1),
deleteRequest(path.Join("/services", s.Name, s.Version, s.UUID), -1),
deleteRequest(path.Join("/services", s.Name, s.UUID), -1),
deleteRequest(path.Join("/hosts", s.ServiceAddr.IPAddress, s.UUID), -1),
deleteRequest(path.Join("/instances", s.UUID, "registered"), -1),
deleteRequest(path.Join("/instances", s.UUID, "name"), -1),
deleteRequest(path.Join("/instances", s.UUID, "version"), -1),
deleteRequest(path.Join("/instances", s.UUID, "region"), -1),
deleteRequest(path.Join("/instances", s.UUID, "addr"), -1),
deleteRequest(path.Join("/instances", s.UUID), -1),
},
}
err = sm.conn.Multi(ops)
if err == nil {
delete(sm.managedInstances, s.UUID)
}
// Attempt to remove parent paths for service if they are empty
sm.removePathIfEmpty(path.Join("/hosts", s.ServiceAddr.IPAddress))
sm.removePathIfEmpty(path.Join("/regions", s.Region))
sm.removePathIfEmpty(path.Join("/services", s.Name, s.Version))
sm.removePathIfEmpty(path.Join("/services", s.Name))
return
}
示例15: mux
func (sm *ZookeeperServiceManager) mux() {
for {
select {
case e := <-sm.session:
switch e.Type {
case zk.EventNodeDeleted, zk.EventNodeChildrenChanged, zk.EventNodeDataChanged:
case zk.EventSession:
// TODO: EventNotWatching
// TODO: StateDisconnected
default:
log.Println(log.TRACE, "Zookeeper Event Received: ", e)
}
case <-sm.done:
// Remove instances that were added by this instance
for _, s := range sm.managedInstances {
sm.Remove(s)
}
sm.cache.Stop()
sm.conn.Close()
return
}
}
}