• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

CF 18 - where are they hiding the error logs?

Community Beginner ,
Jul 02, 2019 Jul 02, 2019

Copy link to clipboard

Copied

Ok, migrating from CF11 to CF18 ... and with database with unsynched tables ... so I expect errors.

With CF1 to CF11 I used application.log to find any errors in AJAX areas (CFCOMPONENT)

Hitting bugs and no where does it show errors.  Where are they?

Wow, several hours into CF18 and I loathe it.  Change for the sake of change.  Feels like WIndows 8.  UI is suddenly off the charts different.

Might well downgrade.

Views

938

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 03, 2019 Jul 03, 2019

Copy link to clipboard

Copied

There is no change with respect to where CF errors are stored in CF11 vs 2018. If they were showing in the application.log then, they still should be now.

Of course, if you have an error handler in place, and THAT is intercepting the errors, then those are NOT logged--unless the error handler chooses to log them.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 03, 2019 Jul 03, 2019

Copy link to clipboard

Copied

I am using exactly the same code that I have ported to a newly minted server running CF18.

So, at the risk of sounding argumentative, CF18 is not properly logging fatal errors. 

Same error handling. 

Should be is the operative word.

Something has change WRT to its logging ... and it's proving so time consuming that be weeks end (3 days of trying to find bugs manually) this client will be downgrading.

I simply haven't seen the benefit of 18 yet.

Off soapbox.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 03, 2019 Jul 03, 2019

Copy link to clipboard

Copied

Sorry, I was not done with my answer, when I got a client call. I hit ctrl-s out of habit, and it saved AND POSTED that reply. Grr.

So what I was going to go on to say was that if you're not seeing logs, there HAS to be something to explain it. It is NOT that CF has changed how logging works. I appreciate your frustration, and you may wish you didn't have to do the upgrade. Or you may not care to dig into this and will revert back. But we're here to help, and we should be able to solve this.

The first thing I'd ask is: do you see ANY applicaton.log? If so, is there anything for today? If so, what if you did a simple test of:

<cflog text="hi there">

Run that from a page in whatever directory you are otherwise running code, and using whatever URL you're using to run that code. Does that line now appear in that file? It should. If it does not, then this is NOT about error logging (or error handling).

It could be a permissions problem. What user is running the CF instance (service in Windows or daemon in Linux)? Does that user have permission to write to the CF logs folder? Again, do you see other logs in that folder, being written to today?

If you do, I'd wonder this next: is the folder you're looking in the right one? If you are running CF Enterprise (or Trial or Developer edition), note that one can create multiple instances of CF on a single machine. And each instance gets its own folder under the ColdFusion2018 folder. The default would be "cfusion", and it has logs. If you see another instance name in there (any folder other than config, jre, or uninstall), then check THAT folder. It could be that your web site is configured to pass requests to that instance.

These are some thing to start with. The problem should be solvable. There should be an explanation.

And here's my "soapbox":

We can keep digging at all these issues with you here on the forums, but if this gets time-sensitive, note that you could probably get all your issues solved quite quickly with an experienced person looking over your should to help solve all these various problems you are hitting.

(No, it shouldn't be "necessary". And yes, it sucks to pay for CF and then have to pay for help. Some people see it as a no-brainer, if they may solve such problems in minutes or hours, versus beating their head against the wall trying to solve things via google searches and forum threads. To each their own. )

I just want to let you know that there IS such help, and not just from me. I keep a list of such CF troubleshooting consultants at https://www.cf411.com/cfconsult. And you can learn about my rates, approach, and satisfaction guarantee at https://www.carehart.org/consulting.

Off soapbox.

Either way, I (and others) will be here for you, if you want to keep digging at it here in the forums, as you have seen. And nearly every problem has a solution. You just need to work through them, and that's what some of us do with people daily.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 03, 2019 Jul 03, 2019

Copy link to clipboard

Copied

To address your questions.

1. Newly minted (my words) might be misleading.  I installed CF18 over a server running CF11 for years.  Single instance, developer edition.  With the "same" code (about 6 months old) that has been running fine for ages.  I copied updated code over to it.  Same error handlers.  Code works fine on localhost.

I see one error message recorded for an inline code issue. 

It seems to fail to record fatals within comcomponent ajax stuff.

It's hosing over a stored procedure.  So I am having to debug the *sugar* out of the SP. 

However, someone, long ago, told me how you could find the error using FF or Chromes browser in the console window down in the depths of one of the tabs?  Any idea what that might have been?

In the meantime, I hope this SP issue is almost sorted.

I do this daily too. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 04, 2019 Jul 04, 2019

Copy link to clipboard

Copied

This has turned into an apparent issue with CF18 handling stored procs.

I will report it to Adobe but in a nutshell.

Two servers - one running CF11, one running CF18.  Identical code base.  Both Windows server.  Both connected to same datasource; Separate "iron".  My storedproc is simply adding a "member" to one table.

One server I call "12" (it's on internal IP address "12" CF11) the other "14" running CF18.  The stored proc runs perfectly on localhost AND "12",   I hate to use the word inexplicable but it seems to be.  I cannot find another word for it.

Elsewhere the same datasource name is used on countless screens before getting to this point so I know it is correct and connecting OK. Pored over the code analysing the synch between "arguments" stored proc is expecting and is being passed down.  OK.

Checked data types.  All table column are and have to be the same as they're on the same database.  But the fact that the same code is running fine on two servers running CF11 is highly suspicious?

Ok ... what could I be overloooking?  Sorry for the whining! 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 05, 2019 Jul 05, 2019

Copy link to clipboard

Copied

Well, as for a difference in how SPs work, there is a possible explanation. First, I don't see how all that has to do with what you were concerned about before (of errors not being logged). What happened with that?

As for how CF2018 (and 2016, and later CF11 editions) process SPs differently than earlier versions of CF11 (and versions of CF before that), there was in fact a change as of update 3 of CF11. It caused CF to honor the cfprocparam dbvarname attribute.

So first, can you confirm if your failing code uses that? And if so, is your "working" CF11 running update update 2 or earlier? Can your code be changed to remove (or correct) the dbvarname?

If this is in fact the issue, you can learn more about the change as blogged by Adobe here back in 2015:

ColdFusion 11 and dbvarname attribute

As for the fix they offer there, as a JVM argument, note that it was not carried into CF2016 or beyond. Instead, one has to arrange to ensure that dbvarname, if used, is correct.

Let us know if this helps.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 06, 2019 Jul 06, 2019

Copy link to clipboard

Copied

I have always used dbvarname.  Never an issue.  Usually kept CF servers up to date with the latest fixes.

Are you saying that by default CF18 has dbvarname switched off?  How does one switch it on, I do not see a mention of this in the blog you sent me to.

ATM Adobe have my log files and code snippets.

Then it dawned on me ... do OTHER stored procedures work and ... nope, they all crash.

So is it dbvarname?  Or something more sinister?

But the QUESTION I really wanted answering was ... how does one find this error in the browser console???

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 06, 2019 Jul 06, 2019

Copy link to clipboard

Copied

So first, no, it’s not that cf2018 (it’s not cf18) has “dbvarname switched off”. It’s the opposite. Rather than ask you to read again what I wrote, let me try again.

What I said was that in released prior to CF11 update 3, the dbvarname was IGNORED (since about CF5). Then (for reasons never explained), Adobe decided to start HONORING that attribute from CF11 update 3 and above.

So if you did NOT apply update 3 or greater when you were on CF11 (where things “worked” for you), then it was being IGNORED THEN but is instead being HONORED NOW. And to be clear, CF2016 and CF2018 do NOT let you control that. They ALWAYS honor that DBVARNAME. (Again, CF11 had offered an option to cause it to IGNORE it again, with that update 3, but that option was NOT carried forward into CF2016 and above).

So again, the question for you is: can you look at the CF11 where things “worked” to see if it was on update 2 or earlier. If so, then yes it seems you are hitting this issue, in that CF2017 IS HONORING THAT dbvarname.

And while you can’t do anything to make it NOT honor it, it is instead incumbent on you to either fix the use of dbvarname so that it works “correctly” or just remove it (just the dbvarname, not the cfprocparam). The purpose of the dbvarname was to make the arg in cfprocparam map to a particular variablename as defined in the stored proc. It may not be necessary to do that.

As for the errors you seek, I guess I would ask if you remind us: are you seeing the error on screen? And then you’re wondering why you don’t see it in a log? Or is that you do NOT see it on screen? If that’s the case, how do you know there is an “error” to be logged? Or if it DOES appear on screen, does it appear with the traditional CF error page that shows the error? Or is it shown in the context of some custom error page? If the latter, you have an error handler that’s showing that, and if the code does NOT write it to a log with cflog, then it’s not being logged.

I’ll note as well that you could have a new error handler defined at the server level which is why you see a different result in this CF than in the other. Error handlers can be defined at the server level (in the CF Admin), at the application level (in application.cfm or cfc), or the request level. (And it’s also possible that some error handler you DO have WAS working in CF11 for you and is NOT now. If an error happens in an error handler, then no custom page is shown, and the original error should be logged.)

Hope that’s helpful.

/charlie


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 06, 2019 Jul 06, 2019

Copy link to clipboard

Copied

No it's not (helpful).

You're being pedantic.  "it’s not that cf2018 (it’s not cf18) ".  You knew exactly what I meant.

CF11 has every update applied except one.  CF18 has all updates applied.

This has NOTHING to do with CF11 - it has always worked on CF11 ... every patch level.

We never used "CF16".

"it is instead incumbent on you ".  I beg to differ.  Adobe need to fix it.

They have it and are working on it. 

I already explained all this.  I see Error (with no details) in the browser CONSOLE.

"I’ll note as well that you could have a new error handler defined " as I already clearly stated ... I am running identical code on both boxes connected to the same database.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 06, 2019 Jul 06, 2019

Copy link to clipboard

Copied

Um, ok. 

null


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 07, 2019 Jul 07, 2019

Copy link to clipboard

Copied

coder1957**​, it's unfortunate that you encounter difficulties upon getting started with ColdFusion 2018. My advice is for you to be patient. ColdFusion 2018 is the most mature and most comprehensive CFML application server to date. Persevere, and you will certainly reap the rewards later.

As you would have found, the default location of the logs is {CF2018_INSTALLATION_DIR}\cfusion\logs\. Have you examined the files in this directory? If you haven't yet done so, open them one by one in a text editor, for example, Notepad++.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 07, 2019 Jul 07, 2019

Copy link to clipboard

Copied

Your opinion.  Not mine.

I know where they are - the same place they've always been.  They do not contain any information!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 07, 2019 Jul 07, 2019

Copy link to clipboard

Copied

coder1957**  wrote

I know where they are - the same place they've always been.  They do not contain any information!

Do you mean Application.log, Exception.log, ColdFusion-error.log, ColdFusion-out.log, etc. are all in \cfusion\logs\ and they are empty? If so, then it may be that your code did not generate ColdFusion errors! Perhaps what you got where client-side (Javascript) errors.

What was the result of the test Charlie suggested? (<cflog text="hi there">)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 08, 2019 Jul 08, 2019

Copy link to clipboard

Copied

They were all errors in cfcomponent .cfc ...

If you read above it says they created browser console errors but no logged errors.

As for the cflog, I see its result nowhere.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 10, 2019 Jul 10, 2019

Copy link to clipboard

Copied

Just had an idea. Picture this:

Comp1.cfc on ColdFusion instance named InstanceOne.

Comp2.cfc on ColdFusion instance named InstanceTwo (possibly running on a separate ColdFusion installation on a separate machine).

A function in Comp1 invokes a function in Comp2, for example, via HTTP.

Does that sound like what you're doing in your setup?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 10, 2019 Jul 10, 2019

Copy link to clipboard

Copied

Nope. Only 1 instance.  Totally independent servers.

But thanks.

Or did I misunderstand you?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 10, 2019 Jul 10, 2019

Copy link to clipboard

Copied

OK. Just wondered whether your CFC's functions are being invoked by HTTP.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 18, 2019 Jul 18, 2019

Copy link to clipboard

Copied

LATEST

An update.

The error was being logged in exception not application as one would expect.

Examination of this log file shows the error as being Stored procedures are not allowed.

Adobe are examining this ... they initially thought it was a bad driver in CF 2018 ... for SQL server.

(I am using Sql server 2005 on the development SQL box)

(Works perfectly on CF11)

Replaced the driver to no avail ... Adobe and I continue to work on the problem.

Anyone else here using "CF18" and SQL server 2005?  And stored procs?

BTW Stored procs permissions are yes in the CFAdmin panel for the DSN

I defer to their expertise ... above my pay grade

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation