Add dashboard logging
This commit is contained in:
33
dashboard/logger.py
Normal file
33
dashboard/logger.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import os, socket, logging
|
||||||
|
|
||||||
|
host = os.environ.get('VERSION_MANAGEMENT_SERVICE_HOST', default='10.10.43.240')
|
||||||
|
service = os.environ.get('VERSION_MANAGEMENT_SERVICE_PORT', default=31090)
|
||||||
|
|
||||||
|
class PrintHandler(logging.Handler):
|
||||||
|
def emit(self, record):
|
||||||
|
msg = self.format(record)
|
||||||
|
print(msg)
|
||||||
|
|
||||||
|
def get_sock_name():
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
sock.connect((host, service))
|
||||||
|
return sock.getsockname()[0]
|
||||||
|
|
||||||
|
def setup_logger():
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logger.setLevel(logging.INFO)
|
||||||
|
log_file='dashboard/version-management.log'
|
||||||
|
formatter = logging.Formatter(f'%(asctime)s %(levelname)s {get_sock_name()} : %(message)s')
|
||||||
|
|
||||||
|
file_handler = logging.FileHandler(log_file)
|
||||||
|
file_handler.setFormatter(formatter)
|
||||||
|
|
||||||
|
print_handler = PrintHandler()
|
||||||
|
print_handler.setFormatter(formatter)
|
||||||
|
|
||||||
|
logger.addHandler(file_handler)
|
||||||
|
logger.addHandler(print_handler)
|
||||||
|
|
||||||
|
return logger
|
||||||
|
|
||||||
|
logger = setup_logger()
|
||||||
@@ -5,6 +5,8 @@ repo = Repo('.')
|
|||||||
file_path = './version.json'
|
file_path = './version.json'
|
||||||
repo.config_writer().set_value('user', 'name', 'dsk-minchulahn').release()
|
repo.config_writer().set_value('user', 'name', 'dsk-minchulahn').release()
|
||||||
repo.config_writer().set_value('user', 'email', 'minchulahn@ex-em.com').release()
|
repo.config_writer().set_value('user', 'email', 'minchulahn@ex-em.com').release()
|
||||||
|
api_url = 'https://api.github.com/repos/cloudmoa/sample-app/releases'
|
||||||
|
github_token = os.environ.get('GITHUB_TOKEN')
|
||||||
|
|
||||||
def get_datasaker():
|
def get_datasaker():
|
||||||
return json.load(open(file_path, 'r'))['datasaker']
|
return json.load(open(file_path, 'r'))['datasaker']
|
||||||
@@ -19,8 +21,6 @@ def get_tags():
|
|||||||
return repo.tags
|
return repo.tags
|
||||||
|
|
||||||
def get_github_releases():
|
def get_github_releases():
|
||||||
api_url = 'https://api.github.com/repos/cloudmoa/dsk-version-management/releases'
|
|
||||||
github_token = os.environ.get('GITHUB_TOKEN')
|
|
||||||
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||||
releases = requests.get(api_url, headers=headers).json()
|
releases = requests.get(api_url, headers=headers).json()
|
||||||
return releases
|
return releases
|
||||||
@@ -51,8 +51,6 @@ def git_push(commit_message, extended_description):
|
|||||||
repo.git.push(force=False)
|
repo.git.push(force=False)
|
||||||
|
|
||||||
def publish_release(selected_tag, release_title, release_describe):
|
def publish_release(selected_tag, release_title, release_describe):
|
||||||
api_url = 'https://api.github.com/repos/cloudmoa/sample-app/releases'
|
|
||||||
github_token = os.environ.get('GITHUB_TOKEN')
|
|
||||||
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||||
release_data = {
|
release_data = {
|
||||||
'tag_name': selected_tag,
|
'tag_name': selected_tag,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import json, time
|
|||||||
import streamlit as st
|
import streamlit as st
|
||||||
from streamlit_js_eval import streamlit_js_eval
|
from streamlit_js_eval import streamlit_js_eval
|
||||||
from settings import *
|
from settings import *
|
||||||
|
from logger import logger
|
||||||
|
|
||||||
def set_extended_description(edited_df):
|
def set_extended_description(edited_df):
|
||||||
json_edited_df = json.loads(edited_df.to_json(orient='records'))
|
json_edited_df = json.loads(edited_df.to_json(orient='records'))
|
||||||
@@ -36,14 +37,17 @@ def show_sidebar(df, edited_df):
|
|||||||
if commit_message:
|
if commit_message:
|
||||||
if diff_remote_head():
|
if diff_remote_head():
|
||||||
if df.equals(edited_df):
|
if df.equals(edited_df):
|
||||||
|
logger.warning('Git Push - No changes have been made')
|
||||||
st.warning('No changes have been made', icon='⚠️')
|
st.warning('No changes have been made', icon='⚠️')
|
||||||
else:
|
else:
|
||||||
set_version_json(edited_df)
|
set_version_json(edited_df)
|
||||||
git_push(commit_message, extended_description)
|
git_push(commit_message, extended_description)
|
||||||
|
logger.info('Git Push - Success')
|
||||||
st.success('Success', icon='✅')
|
st.success('Success', icon='✅')
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
||||||
else:
|
else:
|
||||||
|
logger.error('Git Push - Updates were rejected because the tip of your current branch is behind')
|
||||||
st.error('Updates were rejected because the tip of your current branch is behind', icon='🚨')
|
st.error('Updates were rejected because the tip of your current branch is behind', icon='🚨')
|
||||||
|
|
||||||
st.divider()
|
st.divider()
|
||||||
@@ -68,11 +72,13 @@ def show_sidebar(df, edited_df):
|
|||||||
response = publish_release(selected_tag, release_title, release_describe)
|
response = publish_release(selected_tag, release_title, release_describe)
|
||||||
|
|
||||||
if response.status_code == 201:
|
if response.status_code == 201:
|
||||||
|
logger.info('Publish Release - Release created successfully')
|
||||||
st.success('Release created successfully', icon='✅')
|
st.success('Release created successfully', icon='✅')
|
||||||
git_pull()
|
git_pull()
|
||||||
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
||||||
else:
|
else:
|
||||||
st.error(f'Failed to create release. Status code: {response.status_code}', icon='🚨')
|
logger.error(f'Publish Release - Failed to create release. Status code: {response.status_code}')
|
||||||
st.error(f'Response: {response.text}', icon='🚨')
|
logger.error(f'Response: {response.text}')
|
||||||
|
st.error(f'Failed to create release. Status code: {response.status_code}\n\n Response: {response.text}', icon='🚨')
|
||||||
|
|
||||||
st.divider()
|
st.divider()
|
||||||
|
|||||||
0
dashboard/version-management.log
Normal file
0
dashboard/version-management.log
Normal file
Reference in New Issue
Block a user