info

Log日志级别从高到低排序 ERROR、WARN、INFO、DEBUG

放肆的年华 提交于 2019-12-19 04:18:51
说明:我们项目中没有加载,log日志有四个,大家可以在log4j文件中进行配置。 日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API ( http://jakarta.apache.org/log4j/docs/api/index.html ): static Level WARN WARN level表明会出现潜在错误的情形。 static Level ERROR ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。 static Level FATAL FATAL level指出每个严重的错误事件将会导致应用程序的退出。 另外,还有两个可用的特别的日志记录级别: (以下描述来自log4j API http://jakarta.apache.org/log4j/docs/api/index.html ): static Level ALL ALL Level是最低等级的,用于打开所有日志记录。 static Level OFF OFF Level是最高等级的,用于关闭所有日志记录。 日志记录器(Logger)的行为是分等级的。如下表所示: 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG

ArcGIS三大文件格式解析

点点圈 提交于 2019-12-19 03:42:39
Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点。一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”。 每个shapefile,都至少有这三个文件组成,其中: *.shp 存储的是几何要素的的空间信息,也就是XY坐标 *.shx 存储的是有关*.shp存储的索引信息。它记录了在*.shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息 *.dbf 存储地理数据的属性信息的dBase表 这三个文件是一个shapefile的基本文件,shapefile还可以有其他一些文件,但所有这些文件都与该shapefile同名,并且存储在同一路径下。 其它较为常见的文件: *.prj 如果shapefile定义了坐标系统,那么它的空间参考信息将会存储在*.prj文件中 *.shp.xml 这是对shapefile进行元数据浏览后生成的xml元数据文件 *.sbn 和 *.sbx 这两个存储的是shapefile的空间索引,它能加速空间数据的读取。这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以通过ArcToolbox >Data Management Tools >Indexes >Add

成绩打分

こ雲淡風輕ζ 提交于 2019-12-19 02:53:08
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include <string.h> 4 #define N 10 5 6 7 struct Data 8 { 9 char Name[20];//姓名 10 int Num ;//编号 11 int flags ;//评委是否打分 1:已经打分 0:未打分 12 float Score[10];//10个人的成绩 13 float Max;//最高分 14 float Min;//最低分 15 float Aver;//平均分(除去最高分和最低分) 16 }; 17 18 struct Songer_info //定义歌手信息数据结构体 19 { 20 Data data ; 21 Songer_info *next; 22 }; 23 24 Songer_info *Create(Songer_info *Head);//创建 25 void Input(Songer_info *Head);//添加信息 26 void Judge(Songer_info *Head);//打分 27 void Search(Songer_info *Head); //查询 28 Songer_info *Sort(Songer_info *Head);//冒泡排序 29 void Look(Songer

017_Python知识点_文件操作 & os & json & pickle模块

北战南征 提交于 2019-12-19 02:23:50
1. 认识文件操作 默认数据是加载到内存中,结果也是保存到内存中, 程序执行结束,所有的数据释放。为了长久存储数据,故而引入文件操作。文件操作的主要步骤有: 打开或创建文件 读取文件中的数据到内存或者将数据写入到打开的文件中 关闭文件 代码示例: f = open ( '/etc/passwd' ) # 打开文件/etc/passwd, 默认的打开模式是'r' content = f . read ( ) # 读取文件中的数据到内存 f . close ( ) # 关闭文件 print ( content ) 1.1 文件的访问模型及其使用情景介绍 模式 操作 r 默认模式,只读;文件不存在将会报错 w 写入;如文件已存在,则将原有数据覆盖,如文件不存在,创建文件 a 追加;如文件已存在,则在原有数据后进行追加,如文件不存在,创建文件 r+ 读写;文件指针放在文件的开头,如文件不存在,无法创建文件 w+ 读写;文件指针放在文件的开头,如文件已存在,则将原有数据覆盖,如文件不存在,创建文件 a+ 读写;文件指针放在文件的结尾,如文件已存在,则在原有数据后进行追加,如文件不存在,创建文件 ps:‘rb’, ‘wb’, 'ab’用于读取二进制文件,如:图片、视频等 1.2 文件对象的属性 ( f = open(“test.txt”) ) 属性 描述 f.closed True 文件关闭?

使用python开发 百度网盘接口

末鹿安然 提交于 2019-12-19 02:23:21
官网API import webbrowser import requests API_KEY = 'zd9Xe7AGqL888tlqaW6q' SECRET_KEY = 'DRQeMNkxdmGRE3u84xH8cEBBv8B' class BaiduPan : def __init__ ( self ) : self . login_status = False def login ( self ) : code_url = f 'https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id={API_KEY}&redirect_uri=oob&scope=basic,netdisk&display=tv&qrcode=1&force_login=1' webbrowser . open ( code_url ) code = input ( '输入授权码(浏览器扫码登录):' ) access_token_url = f 'https://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code&code={code}&client_id={API_KEY}&client_secret={SECRET_KEY}

RocketMQ在windows上安装和开发使用

南笙酒味 提交于 2019-12-18 21:46:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 概述 RocketMQ是alibaba公司开源的一个纯java的开源消息中间件。 开发测试环境搭建 1. 安装&启动 进入到RocketMQ下载包解压的路径下 D:\machine\RocketMQ-3.0.8\RocketMQ-3.0.8> 接下来安装 执行下边的命令或者执行install.bat(在这个bat文件中的命令如下)对maven熟悉的一眼就知道是执行clean package install assembly等操作。 mvn -Dmaven.test.skip=true clean packageinstall assembly:assembly –U 操作信息如下: [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] rocketmq-all 3.0.8 [INFO] rocketmq-remoting 3.0.8 [INFO] rocketmq-common 3.0.8 [INFO] rocketmq-client 3.0.8 [INFO]

(二)SQL 注入

戏子无情 提交于 2019-12-18 20:48:54
SQL 注入就不用介绍了,网上很多。下面介绍一下防止 SQL 注入的方法。 使用 quotename 函数和 sp_executesql 参考如下表结构:这是一个文档表里面有一些简单的字段信息 CREATE TABLE [dbo] . [DocumentInfo] ( [ID] [int] IDENTITY ( 1 , 1 ) primary key NOT NULL,-- 主键 [Name] [varchar] ( 100 ) NOT NULL,-- 文档名字 [FunctionID] [int] NOT NULL , -- 功能 ID 外键 [TypeInfo] [nvarchar] ( 2000 ) NULL— 描述信息 ) 我们可能会按,主键 ID ,文档的名字,功能 id , 描述信息进行查询 ,这个一看就是拼接 sql 语句,如果不用上面的方法很可能造成 sql 注入 例如你写的存储过程可能如下: CREATE proc [dbo] . [Doc_search] ( @ID int , @name varchar ( 10 ), @FID int , @Info nvarchar ( 20 ) ) as begin declare @sql varchar ( 300 ) set @sql = 'select * from [DocumentInfo] where 1

python自动刷新12306抢票

感情迁移 提交于 2019-12-18 20:39:30
#!/usr/bin/env python #-*- coding: utf-8 -*- """ 通过splinter刷12306火车票 可以自动填充账号密码,同时,在登录时,也可以修改账号密码 然后手动识别验证码,并登陆,接下来的事情,交由脚本来做了,静静的等待抢票结果就好(刷票过程中,浏览器不可关闭) """ import re from splinter . browser import Browser from time import sleep import time import sys import httplib2 from urllib import parse import smtplib import numpy as np from email . mime . text import MIMEText class BrushTicket ( object ) : """买票类及实现方法""" def __init__ ( self , user_name , password , passengers , from_time , from_station , to_station , number , seat_type ) : """定义实例属性,初始化""" # 1206账号密码 self . user_name = user_name self .

Django 之数据表操作

时间秒杀一切 提交于 2019-12-18 15:32:03
表结构 基本结构 1、models.AutoField  自增列 = int(11)   如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。 2、models.CharField  字符串字段   必须 max_length 参数 3、models.BooleanField  布尔类型=tinyint(1)   不能为空,Blank=True 4、models.ComaSeparatedIntegerField  用逗号分割的数字=varchar   继承CharField,所以必须 max_lenght 参数 5、models.DateField  日期类型 date   对于参数,auto_now = True 则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。 6、models.DateTimeField  日期类型 datetime   同DateField的参数 7、models.Decimal  十进制小数类型 = decimal   必须指定整数位max_digits和小数位decimal_places 8、models.EmailField  字符串类型(正则表达式邮箱) =varchar   对字符串进行正则表达式 9、models

基本数据类型-列表_元组_字典

我们两清 提交于 2019-12-18 15:06:40
基本数据类型-列表_元组_字典 一、列表(list)书写格式:[] 1 #通过list类创建的 2 3 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 1、列表格式2、列表中可以嵌套任何类型 中括号起来 ,分割每个元素 列表中的元素可以是 数字,字符串,列表,布尔值....所有的都能放进去 "集合" ,内部放置任何东西 3、索引取值 1 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 2 print(li[3]) #索引取值 执行结果: 1 age 4、切片,切片结果也是列表 1 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 2 print(li[3:-1]) #切片,切片的结果也是列表 执行结果: 1 ['age', ['刘正文', ['19', 10], '庞麦郎'], 'ales'] 5、for循环 while循环 1 li = [1, 12, 9, "age", ["刘正文", ["19", 10, ],"庞麦郎"], "ales", True] 2 for item in li: 3 print(item) 执行结果: 1