pyspark log4j

https://stackoverflow.com/questions/25407550/how-do-i-log-from-my-python-spark-script

log_util.py

#!/usr/bin/python
# coding=utf-8

import socket


def main():
    print("hello ....")
    tags = dict()
    tags["flight"] = "MU2916"
    tags["key"] = "0001"
    # log_info(logger=None, appname="wordcount", map=map, message="test message")
    get_text( appname="wordcount", tags=tags, message="test message")
    get_text( appname="wordcount", message="test message")


# 获取本机IP
def get_host_ip():
    """
    查询本机ip地址
    :return:
    """

    try:
        s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip=s.getsockname()[0]
    finally:
        s.close()

    return ip


def get_text(appname='', tags=dict(),message=''):

    result ="@@"+ get_host_ip()+"@@"+appname+"@@"+str(tags)+"@@"+message+"@@"
    print result
    return result

if __name__ == "__main__":

    main()

main.py

    sc, sqlContext = s.startContext(appName)
    log4jLogger = sc._jvm.org.apache.log4j
    log4jLogger.LogManager.getLogger("com.umetrip.redis").setLevel(log4jLogger.Level.ERROR )
    log4jLogger.LogManager.getLogger("org.apache.spark").setLevel(log4jLogger.Level.WARN )
    log4jLogger.LogManager.getLogger("akka").setLevel(log4jLogger.Level.ERROR )
    global log
    log = log4jLogger.LogManager.getLogger("umetrip_pyspark")
    info=log_util.get_text( appname=appName, message="test message")
    log.warn(info)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
log4jlog4j2都是日志框架,但它们的使用方式和配置方式有所不同。如果要将log4j的配置转换为log4j2的配置,可以采用以下步骤: 1. 导入log4j2的依赖 在Maven项目中,在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.14.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency> ``` 2. 修改日志文件配置 将log4j的日志文件配置(如log4j.properties或log4j.xml)转换为log4j2的配置文件(如log4j2.properties或log4j2.xml),并将其放置在classpath下。 注意:log4j2的配置文件的格式与log4j的配置文件的格式不同,需要按照log4j2的格式进行修改。 3. 修改代码中的日志引用 将Java代码中使用的`org.apache.log4j`包的引用替换为`org.apache.logging.log4j`包的引用。 例如: ```java import org.apache.log4j.Logger; ``` 替换为: ```java import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; ``` 4. 修改日志输出语句 将Java代码中使用的log4j的日志输出语句: ```java logger.debug("debug message"); ``` 替换为log4j2的日志输出语句: ```java logger.debug("debug message"); ``` 注意:log4j2的日志输出语句的格式与log4j的日志输出语句的格式不同,需要按照log4j2的格式进行修改。 5. 测试日志输出 完成以上步骤后,可以测试日志的输出是否正常。如果输出正常,则表示成功将log4j的配置转换为log4j2的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值