Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
easy-media-controller
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mihkevich
easy-media-controller
Commits
da41308f
Commit
da41308f
authored
Nov 27, 2021
by
user
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parents
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
0 deletions
+82
-0
.gitignore
.gitignore
+2
-0
main.py
main.py
+30
-0
my_logger.py
my_logger.py
+50
-0
No files found.
.gitignore
0 → 100644
View file @
da41308f
/.idea
\ No newline at end of file
main.py
0 → 100644
View file @
da41308f
from
time
import
sleep
from
my_logger
import
log
import
io
import
os
import
sys
import
traceback
def
get_line
():
frame
=
traceback
.
extract_tb
(
sys
.
exc_info
()[
2
])
return
str
(
frame
[
0
])
.
split
()[
4
]
A
=
[
i
for
i
in
range
(
5
)]
log
.
info
(
"start program"
)
try
:
for
i
in
range
(
6
):
log
.
warn
(
A
[
i
]
**
2
)
log
.
info
(
"program calculate square "
+
str
(
A
[
i
]))
except
:
## вызываем функцию записи ошибки и передаем в нее номер строки с ошибкой
log
.
error
(
get_line
())
log
.
info
(
"end program"
)
try
:
while
True
:
log
.
info
(
"Hello World "
)
sleep
(
3
)
except
KeyboardInterrupt
as
e
:
log
.
info
(
"Stopping..."
)
my_logger.py
0 → 100644
View file @
da41308f
import
logging
import
traceback
import
time
import
os
class
Log
:
def
__init__
(
self
):
self
.
start_log_time
=
time
.
localtime
(
time
.
time
())
self
.
logfile
=
"{}/{}_{}_{}_main.log"
.
format
(
os
.
getcwd
(),
self
.
start_log_time
.
tm_mday
,
self
.
start_log_time
.
tm_mon
,
self
.
start_log_time
.
tm_year
)
self
.
log
=
logging
.
getLogger
(
"my_log"
)
self
.
log
.
setLevel
(
logging
.
INFO
)
self
.
FH
=
logging
.
FileHandler
(
self
.
logfile
,
encoding
=
'utf-8'
)
## задаем базовый формат сообщения в логе
self
.
basic_formater
=
logging
.
Formatter
(
'
%(asctime)
s : [
%(levelname)
s] :
%(message)
s'
)
self
.
FH
.
setFormatter
(
self
.
basic_formater
)
self
.
log
.
addHandler
(
self
.
FH
)
## функция для записи в лог сообщений об ошибке
def
error
(
self
,
line_no
):
## задаем формат ошибочных сообщений, добавляем номер строки
err_formater
=
logging
.
Formatter
(
'
%(asctime)
s : [
%(levelname)
s][LINE '
+
line_no
+
'] :
%(message)
s'
)
## устанавливаем формат ошибок в логгер
self
.
FH
.
setFormatter
(
err_formater
)
self
.
log
.
addHandler
(
self
.
FH
)
## пишем сообщение error
self
.
log
.
error
(
traceback
.
format_exc
())
## возвращаем базовый формат сообщений
self
.
FH
.
setFormatter
(
self
.
basic_formater
)
self
.
log
.
addHandler
(
self
.
FH
)
print
(
"{} : [ERROR] : {}"
.
format
(
self
.
get_current_time
(),
traceback
.
format_exc
()))
def
get_current_time
(
self
):
t
=
time
.
localtime
(
time
.
time
())
return
"{}.{}.{} {}:{}:{}"
.
format
(
t
.
tm_mday
,
t
.
tm_mon
,
t
.
tm_year
,
t
.
tm_hour
,
t
.
tm_min
,
t
.
tm_sec
)
def
info
(
self
,
msg
,
*
args
,
**
kwargs
):
print
(
"{} : [INFO] : {}"
.
format
(
self
.
get_current_time
(),
msg
))
return
self
.
log
.
info
(
msg
,
*
args
,
**
kwargs
)
def
warn
(
self
,
msg
,
*
args
,
**
kwargs
):
print
(
"{} : [WARN] : {}"
.
format
(
self
.
get_current_time
(),
msg
))
return
self
.
log
.
warning
(
msg
,
*
args
,
**
kwargs
)
def
get_logger
(
self
):
return
self
.
log
log
=
Log
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment