123456789101112131415161718192021222324252627282930313233 |
- from flask import Flask, jsonify, request
- from flask_restful import reqparse, abort, Api, Resource
- from kinesis.producer import KinesisProducer
- import json
- import boto3
- import logging
- import logging.handlers
- import os
- import time
- server = Flask(__name__)
- api = Api(server)
- session = boto3.Session(
- aws_access_key_id=os.environ['ID'],
- aws_secret_access_key=os.environ['KEY'],
- region_name='ap-northeast-2')
- producer = KinesisProducer(stream_name=os.environ['STREAM'],boto3_session=session)
- logger = logging.getLogger(__name__)
- os.environ['TZ'] = 'Asia/Seoul'
- time.tzset()
- formatter = logging.Formatter('%(message)s') if os.environ['FORMATTER_VER']==1 else logging.Formatter('[%(asctime)s] %(message)s', "%Y-%m-%d %H:%M:%S")
- fileHandler = logging.FileHandler('./logs/log')
- fileHandler.setFormatter(formatter)
- logger.addHandler(fileHandler)
- logger.setLevel(level=logging.INFO)
- class LogWallpad(Resource):
- def post(self):
- request.json['site']=os.environ['SITE']
- logger.info(json.dumps(request.json))
- producer.put(json.dumps(request.json)+'\n')
- return request.json, 201
- api.add_resource(LogWallpad, '/wallpad/log')
|