Add log options: log_print_output and log_print_stack

This commit is contained in:
Romain Failliot 2021-11-18 11:27:37 -05:00
parent c43017d6db
commit 50f0e431ee
5 changed files with 20 additions and 3 deletions

View File

@ -4,16 +4,18 @@ runtime-version: '3.38'
sdk: org.gnome.Sdk
command: diffuse
finish-args:
- --filesystem=home
- --share=ipc
- --socket=wayland
- --socket=fallback-x11
- --share=ipc
- --filesystem=home
- --talk-name=org.freedesktop.Flatpak
modules:
- name: diffuse
builddir: true
buildsystem: meson
config-opts:
- -Dlog_print_output=true
- -Dlog_print_stack=true
- -Duse_flatpak=true
sources:
- type: dir

View File

@ -1 +1,3 @@
option('log_print_output', type: 'boolean', value: false)
option('log_print_stack', type: 'boolean', value: false)
option('use_flatpak', type: 'boolean', value: false)

View File

@ -24,4 +24,7 @@ COPYRIGHT = '''{copyright} © 2006-2019 Derrick Moser
WEBSITE = 'https://mightycreak.github.io/diffuse/'
sysconfigdir = '@sysconfigdir@'
use_flatpak = @use_flatpak@
log_print_output = @log_print_output@
log_print_stack = @log_print_stack@

View File

@ -10,6 +10,8 @@ conf.set('VERSION', meson.project_version())
conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir')))
conf.set('pkgdatadir', pkgdatadir)
conf.set('sysconfigdir', sysconfdir)
conf.set('log_print_output', get_option('log_print_output'))
conf.set('log_print_stack', get_option('log_print_stack'))
conf.set('use_flatpak', get_option('use_flatpak'))
configure_file(

View File

@ -21,6 +21,7 @@ import os
import sys
import locale
import subprocess
import traceback
import gi
@ -43,12 +44,19 @@ class MessageDialog(Gtk.MessageDialog):
def isWindows():
return os.name == 'nt'
def _logPrintOutput(msg):
if constants.log_print_output:
print(msg, file=sys.stderr)
if constants.log_print_stack:
traceback.print_stack()
# convenience function to display debug messages
def logDebug(s):
pass #sys.stderr.write(f'{constants.APP_NAME}: {s}\n')
_logPrintOutput(f'DEBUG: {s}')
# report error messages
def logError(s):
_logPrintOutput(f'ERROR: {s}')
m = MessageDialog(None, Gtk.MessageType.ERROR, s)
m.run()
m.destroy()