mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 23:45:44 +07:00
[FIX] runbot: add limit on log length
This commit is contained in:
parent
45034d362d
commit
1985917702
@ -357,6 +357,9 @@ class Batch(models.Model):
|
||||
self._log(message, *args, level='WARNING')
|
||||
|
||||
def _log(self, message, *args, level='INFO'):
|
||||
message = message % args if args else message
|
||||
if len(message) > 300000:
|
||||
message = message[:300000] + '[Truncate, message too long]'
|
||||
self.env['runbot.batch.log'].create({
|
||||
'batch_id': self.id,
|
||||
'message': message % args if args else message,
|
||||
|
@ -670,9 +670,9 @@ class BuildResult(models.Model):
|
||||
results = build.active_step._make_results(build)
|
||||
except Exception as e:
|
||||
if isinstance(e, RunbotException):
|
||||
message = e.args[0]
|
||||
message = e.args[0][:300000]
|
||||
else:
|
||||
message = 'An error occured while computing results of %s:\n %s' % (build.job, str(e).replace('\\n', '\n').replace("\\'", "'"))
|
||||
message = 'An error occured while computing results of %s:\n %s' % (build.job, str(e).replace('\\n', '\n').replace("\\'", "'")[:10000])
|
||||
_logger.exception(message)
|
||||
build._log('_make_results', message, level='ERROR')
|
||||
results = {'local_result': 'ko'}
|
||||
|
@ -858,6 +858,7 @@ class ConfigStep(models.Model):
|
||||
eval_ctx = self.make_python_ctx(build)
|
||||
safe_eval(self.python_result_code.strip(), eval_ctx, mode="exec", nocopy=True)
|
||||
return_value = eval_ctx.get('return_value')
|
||||
# todo check return_value or write in try except. Example: local result setted to wrong value
|
||||
if not isinstance(return_value, dict):
|
||||
raise RunbotException('python_result_code must set return_value to a dict values on build')
|
||||
return return_value
|
||||
|
Loading…
Reference in New Issue
Block a user