本文整理汇总了Golang中github.com/aws/amazon-ssm-agent/agent/log.T.Errorf方法的典型用法代码示例。如果您正苦于以下问题:Golang T.Errorf方法的具体用法?Golang T.Errorf怎么用?Golang T.Errorf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/aws/amazon-ssm-agent/agent/log.T
的用法示例。
在下文中一共展示了T.Errorf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: processRegistration
// processRegistration handles flags related to the registration category
func processRegistration(log logger.T) (exitCode int) {
if activationCode == "" || activationID == "" || region == "" {
// clear registration
if clear {
return clearRegistration(log)
}
flagUsage()
return 1
}
// check if previously registered
if !force && registration.InstanceID() != "" {
confirmation, err := askForConfirmation()
if err != nil {
log.Errorf("Registration failed due to %v", err)
return 1
}
if !confirmation {
log.Info("Registration canceled by user")
return 1
}
}
managedInstanceID, err := registerManagedInstance()
if err != nil {
log.Errorf("Registration failed due to %v", err)
return 1
}
log.Infof("Successfully registered the instance with AWS SSM using Managed instance-id: %s", managedInstanceID)
return 0
}
示例2: initializeBookkeepingLocations
// initializeBookkeepingLocations - initializes all folder locations required for bookkeeping
func initializeBookkeepingLocations(log logger.T, instanceID string) bool {
//Create folders pending, current, completed, corrupt under the location DefaultLogDirPath/<instanceId>
log.Info("Initializing bookkeeping folders")
initStatus := true
folders := []string{
appconfig.DefaultLocationOfPending,
appconfig.DefaultLocationOfCurrent,
appconfig.DefaultLocationOfCompleted,
appconfig.DefaultLocationOfCorrupt}
for _, folder := range folders {
directoryName := path.Join(appconfig.DefaultDataStorePath,
instanceID,
appconfig.DefaultCommandRootDirName,
appconfig.DefaultLocationOfState,
folder)
err := fileutil.MakeDirs(directoryName)
if err != nil {
log.Errorf("Encountered error while creating folders for internal state management. %v", err)
initStatus = false
break
}
}
return initStatus
}
示例3: processFingerprint
// processFingerprint handles flags related to the fingerprint category
func processFingerprint(log logger.T) (exitCode int) {
if err := fingerprint.SetSimilarityThreshold(similarityThreshold); err != nil {
log.Errorf("Error setting the SimilarityThreshold. %v", err)
return 1
}
log.Infof("Fingerprint SimilarityTHreshold set to %v", similarityThreshold)
return 0
}
示例4: clearRegistration
// clearRegistration clears any existing registration data
func clearRegistration(log logger.T) (exitCode int) {
err := registration.UpdateServerInfo("", "", "", "")
if err == nil {
log.Info("Registration information has been removed from the instance.")
return 0
}
log.Errorf("error clearing the instance registration information. %v\nTry running as sudo/administrator.", err)
return 1
}
示例5: run
// Run as a single process. Used by Unix systems and when running agent from console.
func run(log logger.T) {
// run core manager
cpm, err := start(log, instanceIDPtr, regionPtr)
if err != nil {
log.Errorf("error occured when starting amazon-ssm-agent: %v", err)
return
}
blockUntilSignaled(log)
stop(log, cpm)
}
示例6: start
func start(log logger.T, instanceIDPtr *string, regionPtr *string) (cpm *coremanager.CoreManager, err error) {
log.Infof("Starting Agent: %v", version.String())
log.Infof("OS: %s, Arch: %s", runtime.GOOS, runtime.GOARCH)
log.Flush()
if cpm, err = coremanager.NewCoreManager(instanceIDPtr, regionPtr, log); err != nil {
log.Errorf("error occured when starting core manager: %v", err)
return
}
cpm.Start()
return
}
示例7: uploadOutput
// uploadOutput uploads the stdout and stderr file to S3
func (c *contextManager) uploadOutput(log log.T, context *UpdateContext) (err error) {
awsConfig := sdkutil.AwsConfig()
var config appconfig.SsmagentConfig
config, err = appconfig.Config(false)
if err != nil {
return fmt.Errorf("could not load config file: %v", err)
}
// If customers have provided override in app config, honor that.
if config.S3.Region != "" {
awsConfig.Region = &config.S3.Region
}
log.Infof("Uploading output files to region: %v", *awsConfig.Region)
s3 := s3.New(session.New(awsConfig))
// upload outputs (if any) to s3
uploader := s3util.NewManager(s3)
uploadOutputsToS3 := func() {
// delete temp outputDir once we're done
defer pluginutil.DeleteDirectory(log, updateutil.UpdateOutputDirectory(context.Current.UpdateRoot))
// get stdout file path
stdoutPath := updateutil.UpdateStandOutPath(context.Current.UpdateRoot, context.Current.StdoutFileName)
s3Key := path.Join(context.Current.OutputS3KeyPrefix, context.Current.StdoutFileName)
log.Debugf("Uploading %v to s3://%v/%v", stdoutPath, context.Current.OutputS3BucketName, s3Key)
err = uploader.S3Upload(context.Current.OutputS3BucketName, s3Key, stdoutPath)
if err != nil {
log.Errorf("failed uploading %v to s3://%v/%v \n err:%v",
stdoutPath,
context.Current.OutputS3BucketName,
s3Key,
err)
}
// get stderr file path
stderrPath := updateutil.UpdateStandOutPath(context.Current.UpdateRoot, context.Current.StderrFileName)
s3Key = path.Join(context.Current.OutputS3KeyPrefix, context.Current.StderrFileName)
log.Debugf("Uploading %v to s3://%v/%v", stderrPath, context.Current.OutputS3BucketName, s3Key)
err = uploader.S3Upload(context.Current.OutputS3BucketName, s3Key, stderrPath)
if err != nil {
log.Errorf("failed uploading %v to s3://%v/%v \n err:%v", stderrPath, context.Current.StderrFileName, s3Key, err)
}
}
uploadOutputsToS3()
return nil
}
示例8: HandleAwsError
// HandleAwsError logs an AWS error.
func HandleAwsError(log log.T, err error, stopPolicy *StopPolicy) {
if err != nil {
// notice that we're using 1, so it will actually log the where
// the error happened, 0 = this function, we don't want that.
pc, fn, line, _ := runtime.Caller(1)
log.Debugf("error in %s[%s:%d] %v", runtime.FuncForPC(pc).Name(), fn, line, err)
// In case this is aws error, update the stop policy as well.
if aErr, ok := err.(awserr.Error); ok {
// Generic AWS Error with Code, Message, and original error (if any)
log.Debugf("AWS error. Code: %v, Message: %v, origerror: %v ", aErr.Code(), aErr.Message(), aErr.OrigErr())
// special treatment for Timeout exception - as this is expected
if aErr.Code() == "RequestError" && aErr.OrigErr() != nil && strings.Contains(aErr.OrigErr().Error(), "Client.Timeout") {
// resetting the error count to 0 - as these exceptions are all expected
if stopPolicy != nil {
resetStopPolicy(stopPolicy)
}
return
}
}
log.Errorf("error when calling AWS APIs. error details - %v", err)
if stopPolicy != nil {
log.Infof("increasing error count by 1")
stopPolicy.AddErrorCount(1)
}
} else {
// there is no error,
resetStopPolicy(stopPolicy)
}
}
示例9: getCmdState
// getCmdState reads commandState from given file
func getCmdState(log log.T, fileName string) message.CommandState {
var commandState message.CommandState
err := jsonutil.UnmarshalFile(fileName, &commandState)
if err != nil {
log.Errorf("encountered error with message %v while reading Interim state of command from file - %v", err, fileName)
} else {
//logging interim state as read from the file
jsonString, err := jsonutil.Marshal(commandState)
if err != nil {
log.Errorf("encountered error with message %v while marshalling %v to string", err, commandState)
} else {
log.Tracef("interim CommandState read from file-system - %v", jsonutil.Indent(jsonString))
}
}
return commandState
}
示例10: runJob
// runJob executes a job and then sends a signal on the given channel
func runJob(log log.T, job func(), doneChannel chan struct{}) {
defer func() {
// recover in case the job panics
if msg := recover(); msg != nil {
log.Errorf("Job failed with message %v", msg)
}
doneChannel <- struct{}{}
}()
job()
}
示例11: RemoveData
// RemoveData deletes the fileName from locationFolder under defaultLogDir/instanceID
func RemoveData(log log.T, commandID, instanceID, locationFolder string) {
absoluteFileName := getCmdStateFileName(commandID, instanceID, locationFolder)
err := fileutil.DeleteFile(absoluteFileName)
if err != nil {
log.Errorf("encountered error %v while deleting file %v", err, absoluteFileName)
} else {
log.Debugf("successfully deleted file %v", absoluteFileName)
}
}
示例12: ValidParameters
// ValidParameters checks if parameter names are valid. Returns valid parameters only.
func ValidParameters(log log.T, params map[string]interface{}) map[string]interface{} {
validParams := make(map[string]interface{})
for paramName, paramValue := range params {
if validName(paramName) {
validParams[paramName] = paramValue
} else {
log.Errorf("invalid parameter name %v", paramName)
}
}
return validParams
}
示例13: CreateScriptFile
// CreateScriptFile creates a script containing the given commands.
func CreateScriptFile(log log.T, scriptPath string, runCommand []string) (err error) {
var sourceFile *os.File
var scriptFile *os.File
// create script file
mode := int(appconfig.ReadWriteExecuteAccess)
scriptFile, err = os.OpenFile(scriptPath, os.O_CREATE|os.O_WRONLY, os.FileMode(mode))
if err != nil {
log.Errorf("failed to create local script file %v, err %v", scriptPath, err)
return
}
defer func() {
cerr := scriptFile.Close()
if err == nil {
err = cerr
}
}()
// write source commands to file
if sourceFile != nil {
if _, err = io.Copy(scriptFile, sourceFile); err != nil {
log.Errorf("failed to write source scripts to file %v", scriptPath)
return
}
_, err = scriptFile.WriteString("\n")
if err != nil {
log.Errorf("failed to write source scripts scripts to file %v", scriptPath)
return
}
}
// write source commands to file
_, err = scriptFile.WriteString(strings.Join(runCommand, "\n") + "\n")
if err != nil {
log.Errorf("failed to write runcommand scripts to file %v", scriptPath)
return
}
return
}
示例14: finalizeUpdateAndSendReply
// finalizeUpdateAndSendReply completes the update and send reply to message service
func (u *updateManager) finalizeUpdateAndSendReply(log log.T, context *UpdateContext, errorCode string) (err error) {
update := context.Current
update.EndDateTime = time.Now().UTC()
// resolve context location base on the UpdateRoot
contextLocation := updateutil.UpdateContextFilePath(update.UpdateRoot)
if err = u.ctxMgr.saveUpdateContext(log, context, contextLocation); err != nil {
return err
}
// send reply
if update.HasMessageID() {
if err = u.svc.SendReply(log, update); err != nil {
log.Errorf(err.Error())
}
if err = u.svc.DeleteMessage(log, update); err != nil {
log.Errorf(err.Error())
}
}
// update health information
if err = u.svc.UpdateHealthCheck(log, update, errorCode); err != nil {
log.Errorf(err.Error())
}
// upload output to s3 bucket
log.Debugf("output s3 bucket name is %v", update.OutputS3BucketName)
if update.OutputS3BucketName != "" {
u.ctxMgr.uploadOutput(log, context)
}
context.cleanUpdate()
if err = u.ctxMgr.saveUpdateContext(log, context, contextLocation); err != nil {
return err
}
return nil
}
示例15: FileCopy
// FileCopy copies the content from reader to destinationPath file
func FileCopy(log log.T, destinationPath string, src io.Reader) (written int64, err error) {
var file *os.File
file, err = os.Create(destinationPath)
if err != nil {
log.Errorf("failed to create file. %v", err)
return
}
defer file.Close()
var size int64
size, err = io.Copy(file, src)
log.Infof("%s with %v bytes downloaded", destinationPath, size)
return
}