Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
仰淮
dr_py
提交
f765bbf4
dr_py
项目概览
仰淮
/
dr_py
与 Fork 源项目一致
Fork自
晚风拂柳颜 / dr_py
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
dr_py
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f765bbf4
编写于
8月 27, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化实时日志打印
上级
b13bf086
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
84 addition
and
14 deletion
+84
-14
app.py
app.py
+11
-5
classes/cms.py
classes/cms.py
+2
-9
libs.txt
libs.txt
+1
-0
utils/log.py
utils/log.py
+70
-0
未找到文件。
app.py
浏览文件 @
f765bbf4
...
...
@@ -6,8 +6,6 @@
from
flask_sqlalchemy
import
SQLAlchemy
import
config
import
socket
from
gevent.pywsgi
import
WSGIServer
import
warnings
warnings
.
filterwarnings
(
'ignore'
)
...
...
@@ -18,7 +16,7 @@ from utils import error,parser
from
utils.web
import
*
import
sys
import
codecs
from
classes.cms
import
CMS
from
classes.cms
import
CMS
,
logger
import
json
sys
.
stdout
=
codecs
.
getwriter
(
"utf-8"
)(
sys
.
stdout
.
detach
())
...
...
@@ -26,12 +24,16 @@ app = Flask(__name__,static_folder='static',static_url_path='/static')
# app.config["JSON_AS_ASCII"] = False # jsonify返回的中文正常显示
app
.
config
.
from_object
(
config
)
# 单独的配置文件里写了,这里就不用弄json中文显示了
app
.
logger
.
name
=
"drLogger"
db
=
SQLAlchemy
(
app
)
rule_list
=
getRules
()
# print(rule_list)
logger
.
info
(
rule_list
)
logger
.
info
(
f
'http://
{
getHost
(
1
,
5705
)
}
/index
\n
http://localhost:5705/index'
)
from
models
import
*
from
gevent.pywsgi
import
WSGIServer
# from geventwebsocket.handler import WebSocketHandler
RuleClass
=
rule_classes
.
init
(
db
)
...
...
@@ -57,6 +59,7 @@ def forbidden(): # put application's code here
@
app
.
route
(
'/index'
)
def
index
():
# put application's code here
logger
.
info
(
"进入了首页"
)
return
render_template
(
'index.html'
,
getHost
=
getHost
)
@
app
.
route
(
'/vod'
)
...
...
@@ -214,5 +217,8 @@ def database():
if
__name__
==
'__main__'
:
# app.run(host="0.0.0.0", port=5705)
# app.run(debug=True, host='0.0.0.0', port=5705)
WSGIServer
((
'0.0.0.0'
,
5705
),
app
).
serve_forever
()
# server = WSGIServer(('0.0.0.0', 5705), app, handler_class=WebSocketHandler,log=app.logger)
server
=
WSGIServer
((
'0.0.0.0'
,
5705
),
app
,
log
=
logger
)
# server = WSGIServer(('0.0.0.0', 5705), app, handler_class=WebSocketHandler,log=None)
server
.
serve_forever
()
# WSGIServer(('0.0.0.0', 5705), app,log=None).serve_forever()
\ No newline at end of file
classes/cms.py
浏览文件 @
f765bbf4
...
...
@@ -9,19 +9,12 @@ import math
from
utils.web
import
*
from
models
import
*
from
utils.config
import
config
from
utils.log
import
get_logger
from
utils.htmlParser
import
jsoup
from
urllib.parse
import
urljoin
from
concurrent.futures
import
ThreadPoolExecutor
# 引入线程池
import
logging
from
js.rules
import
getRules
_logger
=
logging
.
getLogger
(
__name__
)
print
(
_logger
)
rule_list
=
getRules
()
print
(
rule_list
)
_logger
.
info
(
'cms类装载完毕'
)
print
(
f
'http://
{
getHost
(
1
,
5705
)
}
/index
\n
http://localhost:5705/index'
)
logger
=
get_logger
(
'dr.log'
)
class
CMS
:
def
__init__
(
self
,
rule
,
db
=
None
,
RuleClass
=
None
):
...
...
libs.txt
0 → 100644
浏览文件 @
f765bbf4
gevent-websocket
\ No newline at end of file
utils/log.py
0 → 100644
浏览文件 @
f765bbf4
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File : log.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/8/27
import
os
import
logging
from
logging
import
handlers
import
sys
dirname
,
filename
=
os
.
path
.
split
(
os
.
path
.
abspath
(
sys
.
argv
[
0
]))
LOG_ROOT
=
dirname
# print(LOG_ROOT)
# logging.basicConfig(
# # level=logging.INFO, # 控制台打印的日志级别
# level=logging.DEBUG, # 控制台打印的日志级别
# filename='dr.log', # 将日志写入log_new.log文件中
# filemode='a', # 模式,有w和a,w就是写模式,每次都会重新写日志,覆盖之前的日志 a是追加模式,默认如果不写的话,就是追加模式
# # format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
# format="%(asctime)s:%(levelname)s:%(name)s -- %(message)s", datefmt="%Y/%m/%d %H:%M:%S" # 日志格式
# )
def
get_logger
(
log_filename
,
level
=
logging
.
DEBUG
,
when
=
'D'
,
back_count
=
0
):
"""
https://blog.csdn.net/qq_39147299/article/details/124455632
:brief 日志记录
:param log_filename: 日志名称
:param level: 日志等级 critical > error > warning > info > debug 当设置某个级别之后,把它低的不会被记录,例如级别设置为warning,则info和debug则会被丢弃
:param when: 间隔时间:
S:秒
M:分
H:小时
D:天
W:每星期(interval==0时代表星期一)
midnight: 每天凌晨
:param back_count: 备份文件的个数,若超过该值,就会自动删除
:return: logger
"""
# 创建一个日志器。提供了应用程序接口
logger
=
logging
.
getLogger
(
log_filename
)
# 设置日志输出的最低等级,低于当前等级则会被忽略
logger
.
setLevel
(
level
)
# 创建日志输出路径
log_path
=
os
.
path
.
join
(
LOG_ROOT
,
"logs"
)
if
not
os
.
path
.
exists
(
log_path
):
os
.
mkdir
(
log_path
)
log_file_path
=
os
.
path
.
join
(
log_path
,
log_filename
)
# 创建格式器
# formatter = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s',datefmt="%Y/%m/%d %H:%M:%S")
formatter
=
logging
.
Formatter
(
'%(asctime)s - %(pathname)s[line:%(lineno)d]:%(levelname)s:%(name)s -- %(message)s'
,
datefmt
=
"%Y-%m-%d %H:%M:%S"
)
# 创建处理器:ch为控制台处理器,fh为文件处理器
ch
=
logging
.
StreamHandler
()
ch
.
setLevel
(
level
)
# 输出到文件
fh
=
logging
.
handlers
.
TimedRotatingFileHandler
(
filename
=
log_file_path
,
when
=
when
,
backupCount
=
back_count
,
encoding
=
'utf-8'
)
fh
.
setLevel
(
level
)
# 设置日志输出格式
fh
.
setFormatter
(
formatter
)
ch
.
setFormatter
(
formatter
)
# 将处理器,添加至日志器中
logger
.
addHandler
(
fh
)
logger
.
addHandler
(
ch
)
return
logger
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录