أكثر

كيف تكتب رسائل السجل من Arcpy إلى ArcGis Server؟

كيف تكتب رسائل السجل من Arcpy إلى ArcGis Server؟


تكتب خدمات المعالجة الجغرافية المنشورة السجلات المتوفرة في ArcGis Server Manager (arcgis-server / arcgis / manager / log.html)

أركبي لديهاضافة رسالة,إضافة خطأ، وما إلى ذلك من طرق التسجيل ، ولكنها لا تعمل عند نشر البرنامج النصي كخدمة معالجة جغرافية. كما أفهم ، فهي تعمل محليًا فقط في ArcMap.

هل هناك طريقة ما لكتابة سجلات الخادم من Arcpy؟


إذا كنت تستخدم ملفarcpy.AddMessage (رسالة)، يجب أن يظهر في GP المنشور الخاص بك ، لكنه يظهر في صفحة رسائل الوظائف (وليس سجلات الخادم كما أشرت في سؤالك). تحتاج أيضًا إلى تمكين هذا في خصائص الخدمة (أو عند نشر الخدمة):


الاضافة رسالةسيضيف رسالة إلى قائمة انتظار رسائل مهمة المعالجة الجغرافية:

وظائف / ja861064b634648f1be2371e2307c6112؟ f = json

للتسجيل العام ، أستخدم تسجيل بيثون:
استيراد التسجيلوتأكد من احتواء المُنسق على معرّف العملية:
المنسق = التسجيل. المنسق ('٪ (asctime) s p٪ (process) s {٪ (pathhname) s:٪ (lineno) d}٪ (levelname) s | - |٪ (message) s')

# إعداد logfilepath = os.path.join (tempfile.gettempdir ()، 'example.log') logger = logging.getLogger ('example_logger') logger.setLevel (logging.DEBUG) logger.handlers = [] منسق = logging.Formatter ('٪ (asctime) sp٪ (process) s {٪ (pathname) s:٪ (lineno) d}٪ (levelname) s | - |٪ (message) s') fh = logging.FileHandler (logfilepath) ) fh.setFormatter (formatter) logger.addHandler (fh) ch = logging.StreamHandler () ch.setLevel (logging.DEBUG) ch.setFormatter (formatter) logger.addHandler (ch) logger.info ('مثال لبدء البرنامج النصي ...' ) fh.flush () logger.debug ("استيراد ArcPy…") استيراد arcpy logger.debug ("اكتمال استيراد ArcPy")