python 获取错误日志,并发送邮件
来源:互联网 发布:上传文件保存到数据库 编辑:程序博客网 时间:2024/05/17 01:12
# -*- coding: utf-8 -*-
'''
发送错误日志
'''
import
os
import
smtplib
import
time
import
datetime
from
email.mime.multipart
import
MIMEMultipart
from
email.mime.text
import
MIMEText
from
email.mime.application
import
MIMEApplication
def
send_mail(to_list, sub, content):
# to_list:收件人;sub:主题;content:邮件内容
mail_host
=
"smtp.jd.com"
# 设置服务器
mail_user
=
""
# 用户名
mail_pass
=
""
# 口令
mail_postfix
=
""
# 发件箱的后缀
me
=
"错误日志"
+
"<"
+
mail_user
+
"@"
+
mail_postfix
+
">"
# 这里的hello可以任意设置,收到信后,将按照设置显示
msg
=
MIMEMultipart()
msg[
'Subject'
]
=
sub
# 设置主题
msg[
'From'
]
=
me
msg[
'To'
]
=
";"
.join(to_list)
# ---邮件正文---
part
=
MIMEText(
open
(objectdir,
'r'
).read(),_charset
=
'gb2312'
)
#将错误文件内容做为邮件正文内容
msg.attach(part)
# txt类型附件
part
=
MIMEApplication(
open
(objectdir,
'rb'
).read())
part.add_header(
'Content-Disposition'
,
'attachment'
, filename
=
"error_log.txt"
)
msg.attach(part)
try
:
s
=
smtplib.SMTP()
s.connect(mail_host)
# 连接smtp服务器
s.login(mail_user, mail_pass)
# 登陆服务器
s.sendmail(me, to_list, msg.as_string())
# 发送邮件
s.close()
return
True
except
Exception, e:
print
str
(e)
return
False
#获取错误日志内容
def
getContent(resouce, final):
f
=
open
(resouce,
'rb'
)
finalfile
=
open
(final,
'wb'
)
try
:
for
line
in
f:
if
yes_date
in
line:
if
"ERROR"
in
line:
# 按行读取,如果该行包含“ERORR”字符串,则将该行写入目标文件
finalfile.write(line)
finally
:
f.close()
finalfile.close()
# 获取昨天的时间,这块可以任意改成自己需要的时间
def
get_yesterday_date():
today
=
datetime.datetime.now()
oneday
=
today
-
datetime.timedelta(days
=
1
)
yes_date
=
oneday.strftime(
"%Y-%m-%d"
)
return
yes_date
if
__name__
=
=
'__main__'
:
sourcedir
=
"D:/catalina.out"
# 需要读取的源文件路径
objectdir
=
"D:/error_log.txt"
# 存放的目标文件
mailto_list
=
[
"dfffg@qq.com"
]
#收件人邮箱,可以发送存放多个
yes_date
=
get_yesterday_date()
getContent(sourcedir, objectdir)
if
os.path.getsize(objectdir):
if
send_mail(mailto_list,
"错误日志_"
+
yes_date,objectdir):
print
"发送成功"
else
:
print
"发送失败"
else
:
print
"无错误日志,未发送邮件"
0 0
- python 获取错误日志,并发送邮件
- android自己获取并保存错误日志(可以通过邮件发送到自己邮箱)
- Tomcat错误日志发送邮件(python)脚本
- php发送错误日志邮件
- 收集Tomcat异常日志并发送邮件
- 收集Tomcat异常日志并发送邮件
- 收集Tomcat异常日志并发送邮件
- log4j自动发送错误日志邮件
- logback配置错误日志发送邮件
- python查询数据库并发送邮件
- 【python】获取本机局域网IP并发送邮件到指定邮箱
- Python发送网易邮件554错误解决
- 安装exitmail的日志系统,并自动发送邮件过来
- Android Uncaught Exception Handler邮件发送错误日志
- Android Uncaught Exception Handler邮件发送错误日志
- log4j发送日志邮件
- 系统访问日志统计及邮件发送脚本--python实现
- 获取外网IP并发送邮件通知
- android5.0之后如何获取当前运行的应用包名
- 怎样在hibernate的HQL语句中使用mysql 的自定义函数?
- 给suse系统添加源
- 用代码证明自己闲的蛋疼(四)——简易坑爹版学生管理系统
- 高效判断素数(打表+二分查找)
- python 获取错误日志,并发送邮件
- git使用规范流程
- 排序算法
- Java或Android过滤合法的中英文字符
- Vuforia Virtual Button(虚拟按钮)使用技巧
- Kafka基本架构
- C++ 内存分配回收的一种快速方法
- 网页数据采集难点
- oracle数据库锁表查询及解锁sql