@name 取项目日志 @author lkq<2021-08-27> @param domain 域名 @param project_name 项目名称 @return string
(self, get)
| 3895 | } |
| 3896 | |
| 3897 | def get_project_log(self, get): |
| 3898 | ''' |
| 3899 | @name 取项目日志 |
| 3900 | @author lkq<2021-08-27> |
| 3901 | @param domain 域名 |
| 3902 | @param project_name 项目名称 |
| 3903 | @return string |
| 3904 | ''' |
| 3905 | |
| 3906 | try: |
| 3907 | from mod.project.java.utils import site_tomcat, bt_tomcat |
| 3908 | except: |
| 3909 | site_tomcat = bt_tomcat = None |
| 3910 | |
| 3911 | project_info = self.get_project_find(get.project_name.strip()) |
| 3912 | if not project_info: return public.returnMsg(False, '项目不存在') |
| 3913 | if project_info['project_config']['java_type'] == 'springboot': |
| 3914 | log_file = project_info['project_config']['logs'] |
| 3915 | # if log_file.startswith(self._springboot_logs): return self.get_project_log_old(get) |
| 3916 | if not os.path.exists(log_file): |
| 3917 | # return public.returnMsg(False, '日志文件不存在') |
| 3918 | log_file_size = 0 |
| 3919 | else: |
| 3920 | log_file_size = os.path.getsize(log_file) |
| 3921 | _path = log_file.rsplit("/", 1)[0] |
| 3922 | if log_file_size > 3145928: |
| 3923 | return { |
| 3924 | "status": True, |
| 3925 | "path": _path, |
| 3926 | "file": log_file, |
| 3927 | "data": self.xsssec(self.last_lines(log_file, 3000)), |
| 3928 | "size": public.to_size(log_file_size) |
| 3929 | } |
| 3930 | return { |
| 3931 | "status": True, |
| 3932 | "path": _path, |
| 3933 | "file": log_file, |
| 3934 | "data": self.xsssec(public.GetNumLines(log_file, 3000)), |
| 3935 | "size": public.to_size(log_file_size) |
| 3936 | } |
| 3937 | if project_info['project_config']['java_type'] == 'duli': |
| 3938 | if not "logs" in project_info['project_config']: return self.get_project_log_old(get) |
| 3939 | log_file = log_path = None |
| 3940 | if site_tomcat: |
| 3941 | tomcat_name = project_info['project_config'].get("tomcat_name", "") |
| 3942 | if tomcat_name: |
| 3943 | tomcat = site_tomcat(tomcat_name) |
| 3944 | else: |
| 3945 | tomcat = site_tomcat(get.project_name.strip()) |
| 3946 | if tomcat: |
| 3947 | log_file = tomcat.log_file |
| 3948 | log_path = os.path.dirname(log_file) + "/" |
| 3949 | if log_file is None: |
| 3950 | log_path = project_info['project_config']['logs'] |
| 3951 | if log_path[-1] != "/": |
| 3952 | log_path = log_path + "/" |
| 3953 | log_file = '{}catalina-daemon-{}.out'.format(log_path, project_info["name"].replace(".", "_")) |
| 3954 | if not os.path.isfile(log_file): |
nothing calls this directly
no test coverage detected