ó ByòYc@sBddlmZy*ddlmZmZddlmZWn-ek riddlmZmZmZnXddl Z ddl Z ddl Z ddl Z ddl ZddlZddlZddlZddlmZdZdZd jd eƒZdZd Zd ZdZdZdZd„Zde jfd„ƒYZ dS(iÿÿÿÿ(tprint_function(turlopentRequest(tURLError(RRRN(t AUTH_TOKENt Authorizations 2016-11-01s0http://localhost:8000/{version}/cloudwatch/logs/tversioniii'i€Qs [WARNING]s [CRITICAL]cs"tjˆƒ‡fd†ƒ}|S(Ncsyˆ||ŽSWngtk rztjƒ\}}}tj|||ƒ}|jddƒtdj|ƒdtjƒnXdS(Nis/Failed to send to Localwatch due to exception: ttfile( Rtsystexc_infot tracebacktformat_exceptiontinserttprinttjoint __stderr__(targstkwargstexc_typet exc_valuet exc_tracebacktfull_stack_trace(tfunc(s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pytwrapped)s (t functoolstwraps(RR((Rs /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pytwrap_urllib_exceptions(s tLocalCloudwatchLogHandlercBsMeZd„Zd„Zd„Zd„Zed„ƒZd„Zd„Z RS(cOs_tjj|||Žtjƒ|_d|_g|_tjj d||ƒ|_ t |_ dS(Nit/( tloggingtHandlert__init__ttimetoldest_time_stampttotal_log_event_byte_sizet events_buffertostpathRtlog_group_nameRt auth_token(tselftcomponent_typetcomponent_nameRR((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyR :s   cCs¡t|ƒ}|dkrdStjtjƒƒddd!\}}tjitjƒd6|d6tjj |ƒd6|d6dd 6tj d 6ƒ}|j |ƒdS( Ns iitcreatedtmsgtfilenametlinenotDEBUGt levelnametlevelno( tstrtinspecttgetouterframest currentframeRt makeLogRecordR!R%R&tbasenameR0temit(R)tdatat file_namet line_numbertrecord((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pytwriteBs  &cCsY||jtkrtS|jt|ƒttkr8tSt|jƒtkrQtSt SdS(N( R"tSECONDS_IN_ONE_DAYtTrueR#tlentLOG_EVENT_OVERHEADtMAX_REQUEST_SIZER$t BUFFER_SIZEtFalse(R)tmessaget created_time((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyt _should_sendTscCsÉ|j|ƒ}|jtƒr@djd|ttƒfƒ}n1|jtƒrqdjd|ttƒfƒ}n|jt|ƒt7_|jj it t |j dƒƒd6|d6ƒ|j ƒdS(NRs[WARN]s[FATAL]ièt timestampRF(tformatt startswithtLOG_LEVEL_WARNING_TO_REPLACERRAtLOG_LEVEL_CRITICAL_TO_REPLACER#RBR$tappendtinttroundR,tflush(R)R=R-((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyR9^s""1cCsmi|jd6dd6|jd6}tttj|ƒjdƒƒ}|jt|j ƒt |ƒ|j ƒdS(Nt logGroupNametfromPythonAppendert logStreamNamet logEventssutf-8( R'R$RtLOCAL_CLOUDWATCH_ENDPOINTtjsontdumpstencodet add_headertHEADER_AUTH_TOKENR(Rt _clear_buffer(R)t request_datatrequest((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyt_send_to_local_cwns  ! cCs&t|jƒdkr"|jƒndS(Ni(RAR$R_(R)((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyRQ}scCsd|_|j2dS(Ni(R#R$(R)((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyR\ƒs ( t__name__t __module__R R>RHR9RR_RQR\(((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyR8s    i(!t __future__Rturllib.requestRRt urllib.errorRt ImportErrorturllib2RR4RWRtos.pathR%R R!R tgreengrass_common.env_varsRR[tLOCAL_CLOUDWATCH_API_VERSIONRJRVRCRBRDR?RLRMRRR(((s /rhel5pdi/workplace/yunusko/lambda-blueprints/src/LambdaConsoleResources/blueprints/greengrass-hello-world/test/../greengrass_common/local_cloudwatch_handler.pyts2