首页 > 代码库 > 日志系统:字段类型的思考——String(字符串)、datetime(日期时间)、ip、int(整数)、float(小数)

日志系统:字段类型的思考——String(字符串)、datetime(日期时间)、ip、int(整数)、float(小数)

日志本身用来记录事件,因此日志的内容应该包含:

  事件发生的日期和时间:
    精确度:毫秒(Java中最常用的时间单位)、微秒数(PHP等其它语言中常用的时间单位)、纳秒;
    类型:datetime、double、long、、、

  事件主体
    类型:String

  事件客体
    类型:String

  事件描述
    类型:String

  事件类型
    类型:int、String、、、

  事件级别:
    类型:int、String

  日志数据源的IP地址或名称:
    类型:ip、String

汇总一下:int、long、double、String、ip、datetime

如果考虑极端值的话,应该

  支持大于long的整数,即BigInt;

  支持大于double的浮点数,即BigDecimal;

再考虑存储空间的话,应该

  应该支持一个更小的单位,byte、short

最后考虑使用复杂度的话,应该

  类型尽量少,使用尽量简单:String(字符串)、datetime(日期时间)、ip、int(整数)、float(小数)。
  极大值正常情况下不会出现,可以当作异常!或用String处理

 

日志系统:字段类型的思考——String(字符串)、datetime(日期时间)、ip、int(整数)、float(小数)